sqlcommand

用於C#編程時對資料庫進行操作的類名。C# 中位於SqlClient中的一個類。表示要對SQLSERVER資料庫進行操作。 SqlCommand對象允許你指定在資料庫上執行的操作的類型。比如,你能夠對資料庫中的行數據執行select,insert,modify以及delete命令。SqlCommand對象能被用來支持下線數據管理的情況,可以只單獨使用SqlCommand對象。也可以與SqlDataAdapter一起實現斷開數據連線,實現運算元據庫的應用程式。

介紹

表示要對 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。但是,用戶可以重新打開連線並繼續。

實例

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(); //關閉連線

類的屬性

1.CommandText

獲取或設定要對數據源執行的Transact—SQL語句或存儲過程。

2. CommandType

獲取或設定一個值,該值指示如何解釋CommandText屬性。

3.Connection

獲取或設定SqlCommand的實例使用的SqlConnection。

4.CommandTimeOut

獲取或設定在終止執行命令的嘗試並生成錯誤之前的等待時間。

等待命令執行的時時間(以秒為單位)。預設值為 30 秒。

類的方法

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函式求和等。

相關詞條

相關搜尋

熱門詞條

聯絡我們