首页 理论教育 C#编程新手自学手册中的可执行命令和结果

C#编程新手自学手册中的可执行命令和结果

时间:2026-01-26 理论教育 南栀 版权反馈
【摘要】:在类Command中提供了如下三个可执行的命令。1)ExecuteNonQuery():执行一个命令,但不返回任何结果。ExecuteNonQuery()返回命令语句所操作的行数,它是一个整数。1)使用using指令引用SQL Server数据库。将上述代码保存为“光盘:\daima\17\ExecuteReader”,执行后将显示库内的指定数据,如图17-12所示。ExecuteXmlReader执行后将为调用者返回一个XmlReader对象。图17-14 返回树结构代码注意必须导入System.Xml命名空间后才能输出返回的XML。

定义好命令并执行后就可以操作数据库中的数据。在类Command中提供了如下三个可执行的命令。

1)ExecuteNonQuery():执行一个命令,但不返回任何结果。

2)ExecuteReader():执行一个命令,返回一个类型化的IDataReader。

3)ExecuteScalar():执行一个命令,返回一个值。

在类SqlCommand中,通过ExecuteXmlReader()方法执行一个命令,返回一个Xml Reader对象,它可以用于传送从数据库中返回的XML代码段。

1.ExecuteNonQuery()

ExecuteNonQuery()一般用于执行UPDATE、INSERT和DELETE语句。例如在下面的代码中,使用ExecuteNonQuery()指令对指定的数据进行了更新处理。

图示

图示

上述实例文件的设计流程如下。

1)使用using指令引用SQL Server数据库。

2)定义变量source,设置和Northwind数据库的连接参数。

3)定义select设置更新SQL语句。

4)关闭数据库连接,并返回被操作数据的行数。

将上述代码保存为“光盘:\daima\17\ExecuteNonQuery”,把库内ContactName值为mm的ContactName修改为123,如图17-11所示。

ExecuteNonQuery()返回命令语句所操作的行数,它是一个整数。

2.ExecuteReader()

图示

图17-11 返回被操作数据的行数

ExecuteReader()能够根据使用的提供程序返回一个类型化的DataReader对象,返回的对象可以用于迭代返回的记录。例如在下面的代码中,使用ExecuteReader()指令获取了指定数据库的数据。

图示

上述代码的设计流程如下。

1)使用using指令引用SQL Server数据库。

2)定义变量source,设置和Northwind数据库的连接参数。

3)定义mm设置更新SQL语句。

4)定义SqlDataReader对象nn,并使用ExecuteReader指令执行mm对象的语句。

将上述代码保存为“光盘:\daima\17\ExecuteReader”,执行后将显示库内的指定数据,如图17-12所示。

图示

图17-12 返回指定库的数据

3.ExecuteScalar()(https://www.xing528.com)

ExecuteScalar()可以从SQL语句返回一个结果,例如某表中的记录个数,或者服务器的当前日期或时间。例如在下面的代码中,通过ExecuteScalar()指令返回了指定数据库表的行数。

图示

上述实例文件的设计流程如下。

1)使用using指令引用SQL Server数据库。

2)定义变量source,设置和Northwind数据库的连接参数。

3)定义mm设置更新SQL语句。

4)定义SqlDataReader对象nn,并使用ExecuteReader指令执行mm对象的语句。

将上述代码保存为“光盘:\daima\17\ExecuteScalar”,执行后将显示Customers表内数据的行数,如图17-13所示。

图示

图17-13 返回Customers表内数据的行数

4.ExecuteXmlReader()

ExecuteXmlReader()执行后将给调用者返回一个XmlReader对象。SQL Server允许使用FOR XML子句来扩展SQL子句,上述子句可以是如下三个选项之一。

图示FOR XML AUTO:根据FROM子句中的表建立一个树。

图示FOR XML RAW:结果集中的行射为元,其中的列映射为属性。

图示FOR XML EXPLICIT:必须指定要返回的XML树的形状。

ExecuteXmlReader执行后将为调用者返回一个XmlReader对象。SQL Server允许使用FOR XML子句来扩展SQL子句,上述子句可以是如下三个选项之一。

图示FOR XML AUTO:根据FROM子句中的表建立一个树。

图示FOR XML RAW:结果集中的行射为元,其中的列映射为属性。

图示FOR XML EXPLICIT:必须指定要返回的XML树的形状。

例如在下面的代码中,通过ExecuteXmlReader()指令将数据库内的数据建立了一个树:

图示

图示

将上述代码保存为“光盘:\daima\17\ExecuteXmlReader”,执行后将输出显示创建的树结构代码,如图17-14所示。

图示

图17-14 返回树结构代码

注意

必须导入System.Xml命名空间后才能输出返回的XML。本例在SQL语句中包含了FOR XML AUTO子句,然后调用ExecuteXmlReader()方法。

在SQL子句中,指定了FROM Customers,这样类型Customers的元素就显示在输出中。为它添加元素,每个元素对应于从数据库中选择出来的列。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈