Zeusro搬运+Google翻译+校对:微软官方M#基础教程──(4.07 DataAccessor)

DataAccessor

在这一课中,我们将学习如何通过编写自定义的SQL查询或存储过程来执行数据库中的手动操作。
在大多数应用程序中,您将不必用这个,但在某些特定情况下,SQL查询的构建是重要的,性能是需要DataAccessor提供的功能。
请记住,使用这个类,你绕过使用M#缓存系统,这意味着如果您的查询更改任何数据,你将不得不通过调用方法来刷新缓存

Database.Refresh()


此外,如果你更新数据,如验证()和OnSaving标准M#数据事件()不会被解雇,使用以下功能时要小心。

的ExecuteNonQuery

ExecuteNonQuery对连接的Transact-SQL语句并返回受影响的行数。

超载1:SQL查询

此重载允许你运行你自己的SQL查询。 下面的示例显示如何更新与手动编写SQL查询的记录。


结果

将等于谁没有被激活,并在过去的某个日期的雇员人数。
我们的代码更新数据库中的记录,所以我们必须在执行查询后刷新缓存。

超载2:存储过程

此重载允许你运行一个现有的存储过程。 下面的示例显示了如何使用SQL存储过程来更新记录。让我们来创建我们的存储过程: 现在我们可以使用ExecuteNonQuery方法来运行这个程序,我们通过程序的名称,类型和参数,如果需要 此操作将产生完全相同的结果作为第一个重载。





的ExecuteReader

ExecuteReader执行对上下文的数据库连接指定的命令文本,并建立一个IDataReader的。
重要提示:请确保您完成所需的逻辑后,要关闭数据读取器 在接下来的代码示例中,我们显示了所有员工和文字显示,如果他们被激活与否。 首先,我们创建我们的查询和执行它



DataAccessor.ExecuteReader()

。其次,我们获取的功能,并与Read()方法的帮助下返回的所有记录,投的每一列,然后用yield关键字返回的每个结果。为了完成我们关闭数据读取器与关闭()。
注:在这种情况下,我们并不需要刷新缓存,因为我们没有更新的数据,刚读。

的ExecuteScalar

ExecuteScalar执行对上下文的数据库连接指定的命令文本,并返回第一行的第一列的查询返回的结果集。额外的列或行会被忽略。 在下面的例子中,我们返回激活员工的数量。


READDATA

READDATA执行数据库查询并返回结果作为一个数据集。 下面的示例返回的结果数据集。



Zeusro搬运+Google翻译+校对:微软官方M#基础教程──(4.07 DataAccessor),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。