定义存储过程 p_sys_Login
CREATE
PROCEDURE
p_sys_Login
@argUserID varchar ( 20 ), -- 用户名
@argPassword varchar ( 20 ), -- 密码
@argResult varchar ( 50 ) OUTPUT -- 登录结果
AS
/*
具体内容自己写咯
*/
下面演示如何在C#中用最简洁有效的代码执行该存储过程并返回数据:
@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)
{
/// 用户登录验证
/// </summary>
/// <param name="userID">用户名</param>
/// <param name="password">密码</param>
public void Login(string userID, string password)
{
//数据库连接字符串存储在 Web.config 中
string cnnString = ConfigurationSettings.AppSettings["ConnectionString"];
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);
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();
paramResult.Direction = ParameterDirection.Output;
cmd.Parameters.Add(paramResult);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
//获取存储过程返回的结果
string result = paramResult.Value.ToString();
//... ...
}
string result = paramResult.Value.ToString();
//... ...
}