ADO.NET链接数据库Command对象应用实例
Command对象
使用Connection对象与数据源建立连接之后,可以使用Command对象来对数据源执行查询、添加、删除和修改等各种操作。操作实现的方式可以使用SQL语句,也可以使用存储过程。
Command对象常用属性及说明如表1所示。

表1 Command对象常用属性及说明
下面介绍几个主要的属性。
(1)CommandText属性。获取或设置要对数据源执行的Transact-SQL语句或存储过程。
语法:
public override string CommandText { get; set; }
属性值:要执行的Transact-SQL语句或存储过程。默认为空字符串。
通过Command对象执行SQL语句或存储过程。
示例
通过Command对象来执行一条SQL语句显示表中信息,程序代码如下:
SqlCommand cmd = new SqlCommand("select * from TableName")
通过Command对象来执行存储过程(Proc_Name),程序代码如下:
SqlCommand cmd = new SqlCommand("Proc_Name")
(2)CommandTimeout属性。获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
语法:
public override int CommandTimeout { get; set; }
属性值:等待命令执行的时间(以s为单位)。默认为30s。
示例
将command对象的等待时间设为1min,程序代码如下:
SqlCommand command = new SqlCommand();
command.CommandTimeout = 60;
(3)CommandText属性。获取或设置一个值,该值指示如何解释CommandText属性。
语法:
public override CommandType CommandType { get; set; }
属性值:CommandType值(StoredProcedure存储过程的名称、TableDirect表的名称、Text SQL文本命令)之一。默认值为Text。
示例
创建一个SqlCommand类的对象command,令command对象执行文本命令,程序代码如下:
SqlCommand command = new SqlCommand();
command.CommandType = CommandType.Text;
说明:①SQL语句是指将指定的SQL语句传达到连接对象所连接的数据库中执行,若是此段SQL语句返回搜索数据数据内容,则利用DataSet对象将数据返回,另外,也可以传入动态查询SQL表达式,得到动态数据数据内容。②存储过程:数据库系统通常会扩充标准的SQL语法,例如,SQL Server的T-SQL,ORACLE专用的PL/SQL,使用这些专门的SQL语法,编写具备操作数据功能的专门程序,存放在数据库系统中,由前端程序调用执行。Command对象可以调用这些存放于数据库的程序,执行数据的操作与维护工作,甚至返回搜索结果。
(4)Parameters属性。获取SqlParameterCollection。
语法:
public SqlParameterCollection Parameters { get; }
属性值:Transact-SQL 语句或存储过程的参数。默认为空集合。
示例
将SqlParameter对象的一个数组传递给该CreateSqlCommand方法,为SqlCommand对象的Parameters属性赋值,程序代码如下:
public void CreateSqlCommand(SqlCommand command ,SqlParameter[] paramArray)
{
command.Parameters.Add(paramArray);
for (int j=0; j
{
command.Parameters.Add(paramArray[j]) ;
}
}
(5)Transaction属性。获取或设置将在其中执行SqlCommand类的SqlTransaction对象。
语法:
public SqlTransaction Transaction { get; set; }
属性值:SqlTransaction对象,默认值为空引用。
示例
通过SqlConnection类的BeginTransaction方法实例化一个SqlTransaction对象,然后将其赋给command对象的Transaction属性,完成事务的操作(开启事务、提交事务、回滚事务),程序代码如下:
SqlTransaction sqlTran = connection.BeginTransaction();//开始事务
SqlCommand command = connection.CreateCommand();//创建SqlCommand对象
command.Transaction = sqlTran;//将SqlCommand与SqlTransaction关联起来
command.Transaction = sqlTran;//将SqlCommand与SqlTransaction关联起来
sqlTran.Commit();//提交事务
sqlTran.Rollback();//回滚事务
说明:SqlTransaction类中,Commit方法用于提交数据库事务,Rollback方法用于挂起状态回滚事务,Save方法则用于在事务中创建保存点(它可用于回滚事务的一部分),并指定保存点名称。
Command对象常用方法及说明如表2所示。

表2 Command对象常用方法及说明
下面介绍几个主要的方法。