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()
當事務還沒有結束前預設不能對它所涉及的記錄進行操作是被鎖定的。這是交易的隔離等級。如果要修改開啟一個交易時可以指定它隔離等級。
-