複製鏈接
請複製以下鏈接發送給好友

sqlcommand

鎖定
用於C#編程時對數據庫進行操作的類名。C# 中位於SqlClient中的一個類。表示要對SQLSERVER數據庫進行操作。
SqlCommand對象允許你指定在數據庫上執行的操作的類型。比如,你能夠對數據庫中的行數據執行select,insert,modify以及delete命令。SqlCommand對象能被用來支持斷開連接數據管理的情況,可以只單獨使用SqlCommand對象。也可以與SqlDataAdapter一起實現斷開數據連接,實現操作數據庫的應用程序。
中文名
sql命令
外文名
sqlcommand
命名空間
System.Data.SqlClient
程序集
System.Data
類    型
對數據庫進行操作的類名

sqlcommand程序簡介

表示要對 SQL Server 數據庫執行的一個 Transact-SQL 語句或存儲過程。無法繼承此類。
命名空間 System.Data.SqlClient
程序集: System.Data(在 System.Data.dll 中)
C#:
public sealed class SqlCommand : DbCommand, ICloneable
當創建 SqlCommand 的實例時,讀/寫屬性將被設置為它們的初始值。
您可以重置 CommandText 屬性並重復使用 SqlCommand 對象。但是,在執行新的命令或先前命令之前,必須關閉 SqlDataReader。如果執行 SqlCommand 的方法生成 SqlException,那麼當嚴重級別小於等於 19 時,SqlConnection 將仍保持打開狀態。當嚴重級別大於等於 20 時,服務器通常會關閉 SqlConnection。但是,用户可以重新打開連接並繼續。

sqlcommand實例

private static void ReadOrderData(string connectionString)
{ //要執行的Sql語句
string queryString ="SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection( connectionString))
{
SqlCommand command = new SqlCommand( queryString, connection); connection.Open();
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}
string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";
SqlConnection conn = new SqlConnection(str); //創建連接對象
conn.Open(); //打開連接
其中,str是數據連接字串,用來初始化Connection對象,説明如何連接數據庫,當數據庫連接完畢後,可以使用Open方法打開數據連接。完成數據庫連接後,需創建一個新的Command對象,示例代碼如下所示。
SqlCommand cmd = new SqlCommand("insert into mynews value ('插入一條新數據')", conn);
Command對象的構造函數的參數有兩個,一個是需要執行的SQL語句,另一個是數據庫連接對象。創建Command對象後,就可以執行SQL命令,執行後完成並關閉數據連接,示例代碼如下所示。
cmd.ExecuteNonQuery(); //執行SQL命令
conn.Close(); //關閉連接

sqlcommand類的屬性

1.CommandText
獲取或設置要對數據源執行的Transact—SQL語句存儲過程 [1] 
2. CommandType
獲取或設置一個值,該值指示如何解釋CommandText屬性。
3.Connection
獲取或設置SqlCommand的實例使用的SqlConnection
4.CommandTimeOut
獲取或設置在終止執行命令的嘗試並生成錯誤之前的等待時間。
等待命令執行的時時間(以秒為單位)。預設值為 30 秒。

sqlcommand類的方法

1.ExecuteNonQuery();
它的返回值類型為int型。多用於執行增加,刪除,修改數據。返回受影響的行數。
2.ExecuteReader();
它的返回類型為SqlDataReader。此方法用於用户進行的查詢操作。使用SqlDataReader對象的Read();方法進行逐行讀取。
例如:
SqlCommand comm =new SqlCommand("select * from CGSZ where cid="+id,conn);
SqlDataReader reder=comm.ExecuteReader();
while(reder.Read())
{
//讀出內容列
string str=reder["cname"].ToString();
//讀取分類列
string str1=reder["ckind"].ToString();
//分別為文本框加載數據
this.txtContent.Text = str;
this.txtClass.Text = str1;
}
其中的讀取數據列的時候。除了使用reder["列名"].ToString();還可以使用reder[索引].ToSting();<注意:這裏的索引指的是數據庫中列的索引。從0開始。
3.ExecuteScalar();
它的返回值類型多為int類型。它返回的多為執行select查詢。得到的返回結果為一個值的情況,比如使用count函數求表中記錄個數或者使用sum函數求和等。
參考資料