c#中获取存储过程方法


所属类别:软件与服务

文章作者:佚名

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


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

C# 源代码

1 ///

2 /// 校验用户

3 ///

4 /// 用户信息

5 ///

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

相关信息

· 腾讯将在全国40余所高校招聘700名新员工

· 建立公用程序库 提升软件开发生产力

· ADO.NET在开发中的部分使用方法和技巧

· 实例解析SQL Server 2000和JDBC的融合








....

33284 44973