Command 对象

用于执行数据库操作。

System.Data.SqlClient.SqlCommand 对象 专用于连接 SQL SERVER 数据库
System.Data.OleDb.OleDbCommand 对象 专用于连接 OLEDB 数据库
属性 描述
CommandText 查询语句,可为:SQL 命令、存储过程、表名等
CommandTimeout 超时设置,默认为 30 秒,设为 0 永不超时
CommandType 命令类型

CommandType.StoreProcedure
CommandType.Text
CommandType.TableDirect

Connection Connection 对象
Parameters ParameterCollection 集合
Transaction Transaction 对象,事务日志
UpdateRowSource 当 DataAdapter.Update 时,结果应用到行的方式

UpdateRowSource.FirstReturnRecord
UpdateRowSource.Both

方法 描述
Cancel() 取消命令执行
CreateParameter() 建立
ExecuteNonQuery 执行命令,返回受影响的行数
ExecuteReader() 执行命令,返回 DataReader 对象
ExecuteScalar() 执行命令,返回第一行第一列数据
ExecuteXmlReader() 执行命令,返回 XmlReader 对象
Prepare() 准备(除非 CommandType=TableDirect)
ResetCommandTimeout() 设为默认的超时设置

CommandText 属性

可以包含参数,并使用参数对象赋值。

int id = Convert.ToInt16(Page.Request.Params["id"]);

command.CommandText = "execute getdata @id";

SqlParameter parameter = command.CreateParameter();

parameter.ParameterName = "@id";

parameter.DbType = DbType.Int16;

parameter.Value = id;

command.Parameters.Add(parameter);

参数 描述
@id 命令中的参数名

示例:

System.Data.SqlClient.SqlCommand command;

SqlDataReader datareader;

// 建立对象

command = connection.CreateCommand();

// 设置查询语句

command.CommandText = "select name from ast_users";

// 执行语句,结果存入 DataReader 对象

datareader = command.ExecuteReader();