
圖 6-5 為 CH6_DemoForm004.cs 執行畫面,示範如何使用 SqlCommand 物件將 Transact-SQL 陳述式傳送至 SQL Server 執行,並取得「飛狐工作室」資料表的員工平均薪資。
相關程式碼撰寫於表單的 Load 事件處理函式中:
private void CH6_DemoForm004_Load(object sender, EventArgs e)
{
...
try
{
// 建立連線
using (SqlConnection con = new SqlConnection(connectStringBuilder.ConnectionString))
{
// 建立資料命令物件 (SqlCommand)
SqlCommand foxCMD = new SqlCommand("SELECT AVG(目前薪資) FROM dbo.飛狐工作室");
// 指定 SqlCommand 使用的連線
foxCMD.Connection = con;
// 開啟連線
con.Open();
// 執行命令並將傳回的單一值指派給變數
double mAverage = Convert.ToDouble(foxCMD.ExecuteScalar());
lblInfo.Text = "飛狐工作室的員工平均薪資是:" + mAverage.ToString("$ NT # #,# #0.0000");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "請注意", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
此範例展示了 ExecuteScalar 方法適用於只傳回單一值(如彙總函數結果)的查詢,搭配 using 區塊確保連線資源正確釋放。