Commands發出針對數據庫的數據存儲動作。例如,你可以執行一條命令插入或者刪除數據。獲取更多從數據庫移動數據相關的信息,請參考“Update a Database from a DataSet”。Commands包含了對數據庫發出的若干命令,而且在OleDbCommand情況下, 可以進行特定的數據存儲. 例如,你可以執行存儲過程調用的命令,又或許是一個“set quoted_identifier on”的命令。無論是何種命令,OleDbCommand還是SqlCommand可以被用於獲取命令完成你的后端數據存儲。
使用傳統的ADO,你可以通過Command對象,Connection對象,或者Recordset對象發出命令。在ADO.NET里面,只有Command對象才能執行命令。
對數據庫發出一個命令,Command對象必須滿足兩點:Connection和CommandText,兩者都可以在構造器中設置。執行命令,連接必須是打開的而不是fetching state:
String InsertCmdString; InsertCmdString = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"; SqlCommand mySqlCommand = new SqlCommand(InsertCmdString, myConnection);
這個主題涵蓋了執行非結果集生成命令。執行不返回結果的命令,調用ExecuteNonQuery方法。
mySqlCommand.ExecuteNonQuery();
OleDbCommand和SqlCommand對象擁有的參數集合就像來自傳統的ADO參數集合一樣。你可以內聯的傳遞參數:
mySqlCommand.CommandText = "myStoredProc 'CustId'";
或者使用參數集合:
workParam = mySqlCommand.Parameters.Add("@CustomerID", SQLDataType.NChar, 5); workParam.Value = "NewID";
獲取更多關於使用參數集合的相關信息,請參考
Getting Out Parameters from a Stored Procedure。
下面的示例演示了對於SQL數據庫使用SqlCommand如何執行一條插入命令。
原文地址: