使用SqlCommand执行SQL语句

来源:互联网 发布:c语言爱心的代码 编辑:程序博客网 时间:2024/05/17 06:49

1、构造函数

 1public SqlCommand()

 备注 

基构造函数将所有字段初始化为它们的默认值。下表显示SqlCommand实例的初始属性值。

属性

初始值

CommandText

空字符串 ("")

CommandTimeout

30

CommandType

CommandType.Text

Connection

Null

通过单独调用属性,可以更改这些属性值中的任何一个。

 

2public SqlCommand(string cmdText)

用查询文本初始化SqlCommand类的新实例

3public SqlCommand (string cmdText,

SqlConnection connection)

初始化具有查询文本和SqlConnectionSqlCommand类的新实例

2、常用属性

1public SqlConnection Connection { get; set; }

获取或设置SqlCommand的此实例使用的SqlConnection

2public override string CommandText { get; set; }

获取或设置要对数据源执行的 Transact-SQL语句、表名或存储过程

3public override CommandType CommandType { get; set; }

  获取或设置一个值,该值指示如何解释CommandText属性。

CommandType枚举值

成员名称

说明

Text

SQL文本命令。(默认。)

StoredProcedure

存储过程的名称。

TableDirect

表的名称。

 

备注: CommandType属性设置为 StoredProcedure时,CommandText属性应设置为要访问的存储过程的名称。CommandType属性设置为 TableDirect时,应将CommandText属性设置为要访问的表的名称。如果已命名的任何表包含任何特殊字符,那么用户可能需要使用转义符语法或包括限定字符。当您调用执行”(Execute)方法之一时,将返回命名表的所有行和列。为了访问多个表,请使用逗号分隔的列表(没有空格或空白),其中包含要访问的多个表的名称。 CommandText属性命名多个表时,返回指定表的联接。

 

3、使用SqlCommand的三种方法执行Sql语句

1publicoverrideintExecuteNonQuery()

对连接执行-SQL语句并返回受影响的行数。在使用SqlCommand对象向数据库发送增、删、改命令时,通常使用该方法执行发送的Sql语句

对于 UPDATEINSERT DELETE语句,返回值为该命令所影响的行数。如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于其他所有类型的语句,返回值为 -1如果发生回滚,则返回值也是 -1

异常

条件

SqlException

在对锁定的行执行该命令期间发生了异常。如果使用的是 Microsoft .NET Framework 1.0版,将不会生成该异常。

 

2publicoverride ObjectExecuteScalar()

执行查询,并返回查询所返回的结果集中第一行的第一列。如果结果集为空则返回空引用。通常与聚合函数一起使用

异常

条件

SqlException

在对锁定的行执行该命令期间发生了异常。如果使用的是 Microsoft .NET Framework 1.0版,将不会生成该异常。

3public SqlDataReader ExecuteReader()

CommandText发送到Connection并生成一个包含数据的SqlDataReader对象的实例

 

异常

条件

SqlException

在对锁定的行执行该命令期间发生了异常。如果使用的是 Microsoft .NET Framework 1.0版,将不会生成该异常。

InvalidOperationException

连接的当前状态为关闭。ExecuteReader需要打开的SqlConnection

原创粉丝点击