——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
定义好命令后就需要执行它们执行语句有许多方式这取决于要从命令中返回什么数据<provider>Command类提供了下述可执行的命令
●ExecuteNonQuery()—— 执行一个命令但不返回任何结果
●ExecuteReader ()—— 执行一个命令返回一个类型化的IDataReader
●ExecuteScalar ()—— 执行一个命令返回一个值
除了上述命令外SqlCommand类也提供了下面的方法
●ExecuteXmlReader()—— 执行一个命令返回一个 XmlReader对象它可以用于传送从数据库中返回的XML代码段
ExecuteNonQuery()方法
这个方法一般用于UPDATE INSERT或 DELETE语句惟一的返回值是受影响的记录个数但如果调用一个有输出参数的存储过程该方法就有返回值
using System;
using SystemDataSqlClient;
public class ExecuteNonQueryExample
{
public static void Main(string[] args)
{
string source = server=(local)\\NetSDK; +
integrated security=SSPI; +
database=Northwind;
string select = UPDATE Customers +
SET ContactName = Bob +
WHERE ContactName = Bill;
SqlConnection conn = new SqlConnection(source);
connOpen();
SqlCommand cmd = new SqlCommand(select conn);
int rowsReturned = cmdExecuteNonQuery();
ConsoleWriteLine({} rows returned rowsReturned);
connClose();
}
}
ExecuteNonQuery()返回命令所操作的行数它为一整数
ExecuteReader()方法
这个方法执行命令根据使用的提供程序返回一个类型化的DataReader对象返回的对象可以用于迭代返回的记录如下面的代码所示图显示了这段代码的结果
using System;
using SystemDataSqlClient;
public class ExecuteReaderExample
{
public static void Main(string[] args)
{
string source = server=(local)\\NetSDK; +
integrated security=SSPI; +
database=Northwind;
string select = SELECT ContactNameCompanyName FROM Customers;
SqlConnection conn = new SqlConnection(source);
connOpen();
SqlCommand cmd = new SqlCommand(select conn);
SqlDataReader reader = cmdExecuteReader();
while(readerRead())
{
ConsoleWriteLine(Contact : {} Company : {}
reader[] reader[]);
}
}
}
图
本章的后面将讨论<provider>DataReader对象
[] []