Command.ExecuteNonQuery() 执行一个无返回值的t-sql语句或存储过程,一般用于insert delete update等操作会返回受影响的行数
Command.ExecuteRader()执行一个返回结果集的查询
Command.ExecuteScalar() 执行一个返回单个值的查询 返回值类型为object
一般用于执行使用count,max,min,average等聚合函数的查询
connection.CreateCommand()
创建一个基于当前链接对象的Command对象
int? AddressId;
定义一个可以为空的值类型
AddressId.HasValue
判断是否有值
AddressId.Value.ToString();
把他的值转换为String类型
commandText可以使用2个SQL语句使用“;”分割来返回多个结果集。
在DataReader中使用NextResult来获取下一个结果集。
在command中使用参数对象
1.0
sqlCommand.Parameters.Add("@pname",SqlDbType.VarChar).Value=this.textBox1.Text;
2.0
sqlCommand.Parameters.AddWithValue("@pname",this.textBox1.Text);
通过参数索引或名字获取某个参数对象
sqlCommand.Parameters[index|pname]
使用事务
1创建一个事务对象
XxxTransaction tran = XxxConnection.BeginTransaction()
Sql:SqlTransaction tran = SqlConnection.BeginTransaction();
2给Command对象指定事务
sqlCommand.Transaction = tran
3执行命令
sqlCommand.ExecuteNonQuery()
4提交或回滚事务
tran.Commit()
tran.Rollback()
当事务还没有结束前默认情况下不能对它所涉及的记录进行操作是被锁定的。这是事务的隔离级别。如果要修改开启一个事务时可以指定它隔离级别。