在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();
//... ...
}