預存程序 p_sys_Login 定義如下:
CREATE PROCEDURE p_sys_Login
@argUserID varchar(20), --使用者名稱
@argPassword varchar(20), --密碼
@argResult varchar(50) OUTPUT --登入結果
AS
/*
具體內容自己寫咯
*/
下面示範如何在C#中用最簡潔有效代碼執行該預存程序並返回資料:
/// <summary>
/// 使用者登入驗證
/// </summary>
/// <param name="userID">使用者名稱</param>
/// <param name="password">密碼</param>
public void Login(string userID, string password)
{
//資料庫連接字串儲存在 Web.config 中
string cnnString = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection cnn = new SqlConnection(cnnString);
string sql = string.Format("EXEC p_sys_Login {0} , {1} , @Result OUTPUT", userID, password);
SqlCommand cmd = new SqlCommand(sql, cnn);
//建立並添加和“@Result OUTPUT”對應的參數
SqlParameter paramResult = new SqlParameter("@Result", SqlDbType.VarChar,50);
paramResult.Direction = ParameterDirection.Output;
cmd.Parameters.Add(paramResult);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
//擷取預存程序返回的結果
string result = paramResult.Value.ToString();
//... ...
}