您的位置:首页 > 技术教程 > c#

c#中获取存储过程方法
【字体: 整理日期:2007-9-24 9:16:16 打印本文】 【收藏此文

因为一般都用t-sql来执行数据库操作,偶尔现在转到用存储过程,竟然写不来调用过程的返回值了,查了很多资料,都不详细,或者没到点上,也许是我比较笨,呵呵。

c# 源代码
1 /// <summary>
2 /// 校验用户
3 /// </summary>
4 /// <param name="user">用户信息</param>
5 /// <returns></returns>
6 public static int verifyuser(clsuser user)
7 {
8 int iret;
9 string sql = string.format("execute verifyuser @myverifyreader output,'{0}','{1}'",user.username,user.password); //执行的t-sql串
10 sqlcommand scmd = new sqlcommand(sql, conn);
11 scmd.parameters.add(new sqlparameter("@myverifyreader",sqldbtype.int));
12 scmd.parameters["@myverifyreader"].direction = parameterdirection.output;
13 //
14
15 dbopen(conn);
16 //在返回值上有问题
17 scmd.executenonquery();
18 iret = (int)scmd.parameters["@myverifyreader"].value;
19 dbclose(conn);
20 return iret;
21 }
sql server存储过程
------------------------------


/*
* verifyuser 存储过程
* 用途:验证用户登陆
*/
create procedure verifyuser
(
@myverifyreader int output, --返回结果
@username varchar(50), --用户名
@userpassword varchar(50) --用户密码
)
as
if exists(select [id] from [users] where username = @username and userpassword = @userpassword)
set @myverifyreader = 0 --通过验证

else if exists(select [id] from [users] where username = @username)
set @myverifyreader = 1 --用户存在,密码不正确
else
set @myverifyreader = 2 --用户不存在

return isnull(@myverifyreader,3)
-------------------------------------------------
go


查询
关键词:
相关文章
标签Tags