存儲過程 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();
//... ...
}