关于SqlCommand

当创建 SqlCommand 的实例时,读/写属性将被设置为它们的初始值。有关这些值的列表,请参见 SqlCommand 构造函数。

SqlCommand 特别提供了以下对 SQL Server 数据库执行命令的方法:

说明

BeginExecuteNonQuery

启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,一般情况下执行 INSERT、DELETE、UPDATE 和 SET 语句等命令。每调用一次 BeginExecuteNonQuery,都必须调用一次通常在单独的线程上完成操作的 EndExecuteNonQuery

BeginExecuteReader

启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,并从服务器中检索一个或多个结果集。每调用一次 BeginExecuteReader,都必须调用一次通常在单独的线程上完成操作的 EndExecuteReader

BeginExecuteXmlReader

启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行。每调用一次 BeginExecuteXmlReader,都必须调用一次 EndExecuteXmlReader,它通常在单独的线程上完成操作,并且返回一个 XmlReader 对象。

ExecuteReader

执行返回行的命令。为了提高性能,ExecuteReader 使用 Transact-SQL sp_executesql 系统存储过程调用命令。因此,如果 ExecuteReader 用于执行命令(例如 Transact-SQL SET 语句),则它可能不会产生预期的效果。

ExecuteNonQuery

执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。

ExecuteScalar

从数据库中检索单个值(例如一个聚合值)。

ExecuteXmlReader

CommandText 发送到 Connection 并生成一个 XmlReader 对象。

您可以重置 CommandText 属性并重复使用 SqlCommand 对象。但是,在执行新的命令或先前命令之前,必须关闭

如果执行 SqlCommand 的方法生成

示例

下面的示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。该示例读取所有数据,并将其写到控制台。最后,该示例先关闭 SqlDataReader,然后关闭 SqlConnection

private static void ReadOrderData(string connectionString)
{
       string queryString =
           "SELECT OrderID, CustomerID FROM dbo.Orders;";
       using (SqlConnection connection = new SqlConnection(
                  connectionString))
       {
           SqlCommand command = new SqlCommand(
               queryString, connection);
           connection.Open();
           SqlDataReader reader = command.ExecuteReader();
           try
           {
               while (reader.Read())
               {
                   Console.WriteLine(String.Format("{0}, {1}",
                       reader[0], reader[1]));
               }
           }
           finally
           {
               // Always call Close when done reading.
               reader.Close();
           }
       }




command需要链接和sql命令才能操作sqlcommand其中可以存在参数,所以有Parameters 集合保存参数Parameters 中的Parameters可以绑定dataset数据源,而且既然有了更新,就要设定dataset的过去和现在,用那一个sqlcommand是要执行 指令的,select执行有返回的指令,返回多行和一行,多个ExecuteReader单行ExecuteScalar而增删改就是不返回具体 database的数据了,但是返回的是对增删改的结构,一句话,就是影响了几行数据ExecuteNonQuery 返回的就是变更,影响的行数
而于此对应的有
selectcommand
InsertCommand
DeleteCommand
SelectCommand
UpdateCommand
在sqldataadspter的updata,这些command(应该不包括selectcommand)被调用,使用每一个command的Parameters是自己所独有的,所以每个command有自己的Parameters集合.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值