存储过程 p_sys_Login 定义如下:
CREATE PROCEDURE p_sys_Login
@argUserID varchar(20), -- 用户名
@argPassword varchar(20), -- 密码
@argResult varchar(50) OUTPUT -- 登录结果
AS
/*
... ...
*/
下面演示如何 在 C# 中用最简洁有效的代码执行该存储过程并返回数据:
///
1<summary>
2
3/// 用户登录验证
4
5/// </summary>
///
1<param name="userID"/>
用户名
///
1<param name="password"/>
密码
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();
//... ...
}