若要使用資料命令將 Transact-SQL 陳述式傳送至 SQL Server 執行,請將 SQL 字串指派給 SqlCommand.CommandText,並將 CommandType 設為 CommandType.Text(預設值)。
安全性提醒:使用
CommandType.Text時,務必嚴格驗證用戶端輸入,防止 SQL 注入攻擊。最佳做法是改用參數化查詢或預存程序。

圖 6-4 為 CH6_DemoForm003.cs 執行畫面,示範使用 SqlCommand 取得「飛狐工作室」資料表的員工人數。
private void CH6_DemoForm003_Load(object sender, EventArgs e)
{
...
try
{
// 建立連線
using (SqlConnection con = new SqlConnection(connectStringBuilder.ConnectionString))
{
// 建立 SqlCommand 物件
SqlCommand foxCMD = new SqlCommand();
foxCMD.Connection = con;
// 指定命令類型為 T-SQL 陳述式
foxCMD.CommandType = CommandType.Text;
// 指派要執行的 T-SQL 陳述式
foxCMD.CommandText = "SELECT COUNT(*) FROM dbo.飛狐工作室";
// 開啟連線
con.Open();
// 執行命令並取得單一值
Int32 total = (int)(foxCMD.ExecuteScalar());
lblInfo.Text = "飛狐工作室的員工人數是:" + total.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "請注意", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
此範例採用屬性設定方式建立命令,與前一範例的建構子傳遞 SQL 字串方式不同,兩者皆可達成相同目的。