在C#中用最简洁有效的代码执行存储过程并返回数据
2024-07-21 02:18:00
供稿:网友
存储过程 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();
//... ...
}