Visual C# 動態操作 SQL Server 資料庫執行個體教程(4):帶參數的預存程序執行方法
上一篇文章介紹了帶參數的SQL語句執行方法和不帶參數的預存程序執行方法,這一篇我們介紹帶參數的預存程序執行方法,它調用通用資料訪問類(SqlHelper)執行 SqlHelper.ExecuteNonQuery()方法,使用樣本為;
SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, sqlexec, myparm);
其中傳遞的4個參數:
“conn”—為連結字元;
“ CommandType.StoredProcedure”—表示要執行的SQL預存程序類型;
“sqlexec”—要執行的SQL預存程序;
“myparm”—為傳遞的參數。它需要參數的初始化、賦予參數名稱、設定類型和長度、取得其值等。
protected void btnExecuteProcParm_Click(object sender, EventArgs e)
{
//初始化參數
SqlParameter myparm = new SqlParameter();
//擷取參數的名稱
myparm.ParameterName = "title";
//設定變數的類型和長度
myparm.SqlDbType = SqlDbType.VarChar; //這裡是不是要使用本系統資料庫中的資料類型VarChar?
myparm.Size = 100; //視資料表中的定義情況而定
//擷取參數的值
myparm.Value = "ExecuteNonQuery";
//擷取要執行的預存程序
string sqlexec = "sp_getGISnews";
SqlCommand cmd = new SqlCommand();
//定義對象資源儲存的範圍,一但using範圍結束,將釋放對方所佔的資源
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
//開啟串連
conn.Open();
//調用執行方法
SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, sqlexec, myparm);
}
}
當ExecuteNonQuery()執行 select,結果總是返回-1,ExecuteNonQuery()對於 Update、Insert 和 Delete 語句,傳回值為該命令所影響的行數。對於其他所有類型的語句,傳回值為 -1要瞭解更多情況可查看本人網站的相關內容。