ADO.Net的SqlCommand類用于存儲和執(zhí)行SQL Server數(shù)據(jù)庫的SQL語句。這是一個封閉的類,所以不能被繼承。
SqlCommand類的簽名
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable, IDisposable
這個類提供了下面的構造函數(shù)。
| 編號 | 構造函數(shù) | 描述 |
|---|---|---|
| 1 | SqlCommand() |
它用于初始化SqlCommand類的新實例。 |
| 2 | SqlCommand(String) |
它用于使用字符串參數(shù)初始化SqlCommand類的新實例。 |
| 3 | SqlCommand(String, SqlConnection, SqlTransaction) |
它用于初始化SqlCommand類的新實例。它分別使用三個參數(shù)查詢,連接和事務字符串。 |
| 4 | SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) |
它使用指定的命令文本,連接,事務和加密設置來初始化SqlCommand類的新實例。 |
這個類提供了下面的方法。
| 編號 | 方法 | 描述 |
|---|---|---|
| 1 | BeginExecuteNonQuery() |
它用于啟動由此SqlCommand描述的SQL語句的異步執(zhí)行。 |
| 2 | Cancel() |
它試圖取消一個SqlCommand的執(zhí)行。 |
| 3 | Clone() |
它創(chuàng)建一個新的SqlCommand對象,它是當前實例的一個副本。 |
| 4 | CreateParameter() |
它創(chuàng)建一個SqlParameter對象的新實例。 |
| 5 | ExecuteReader() |
它用于將CommandText發(fā)送給Connection并構建一個SqlDataReader。 |
| 6 | ExecuteXmlReader() |
它用于將CommandText發(fā)送給Connection并構建一個XmlReader對象。 |
| 7 | ExecuteScalar() |
它執(zhí)行查詢并返回結果集中第一行的第一列,其他列或行將被忽略。 |
| 8 | Prepare() |
它用于通過使用SQL Server的實例來創(chuàng)建準備好的命令版本。 |
| 9 | ResetCommandTimeout() |
它用于將CommandTimeout屬性重置為默認值。 |
在這個例子中,創(chuàng)建一個SqlCommand實例并執(zhí)行一條SQL語句。首先創(chuàng)建一個名稱為:AdoNetSqlCommand 的C#控制臺應用項目,如下所示 -

參考以下實現(xiàn)代碼(Program.cs) -
using System;
using System.Data.SqlClient;
namespace AdoNetSqlCommand
{
class Program
{
static void Main(string[] args)
{
new Program().CreateTable();
}
public void CreateTable()
{
SqlConnection con = null;
try
{
// Creating Connection
con = new SqlConnection("data source=.; database=student; integrated security=SSPI");
// writing sql query
SqlCommand cm = new SqlCommand("select * from student_info", con);
// Opening Connection
con.Open();
Console.WriteLine("當前 student_info 表中的記錄信息如下 - ");
// Executing the SQL query
SqlDataReader sdr = cm.ExecuteReader();
while (sdr.Read())
{
Console.WriteLine("學生編號:"+ sdr["id"] + ",姓名: "+sdr["name"] + ",電子郵箱: " + sdr["email"]);
}
}
catch (Exception e)
{
Console.WriteLine("OOPs, something went wrong." + e);
}
// Closing the connection
finally
{
con.Close();
}
}
}
}
執(zhí)行上面示例代碼,得到以下結果 -

| | | |
| | | |
| | `` | |