【转】ASP.NET 获取存储过程的返回值

http://www.cnblogs.com/wang37444/archive/2011/12/07/2279474.html

1.首先我们要建立一张表(UserInfo)。

主要字段Id、uname、upass。

2.创建带返回值的存储过程

1 create proc proc_addUserInfo
2 @uname varchar(50),
3 @upass varchar(50),
4 @Returnc int output
5 as
6 begin
7 insert into erp_user(u_name,u_pass)values(@uname,@upass)
8 set @Returnc= isnull(@@identity,0)
9 end

这里返回值我获取的是添加记录的Id。

后台代码:

1         SqlParameter[] para = new SqlParameter[]
2 {
3 new SqlParameter("@uname","2012"),
4 new SqlParameter("@upass","2012")
5 };
6 string sql_para = "dbo.proc_addUserInfo";
7 CommandType type=CommandType.StoredProcedure;
8 SQLHelper sqlh = new SQLHelper();
9 int Id=sqlh.ExecuteNoQuery(sql_para,type,para);

SQLHelper:

 1  public int ExecuteNoQuery(string sql,CommandType type,params SqlParameter [] values)
2 {
3 using (SqlCommand cmd = new SqlCommand(sql, Conn))
4 {
5 cmd.CommandType = type;
6 if (values != null)
7 {
8 cmd.Parameters.AddRange(values);
9 }
10 SqlParameter Retvar = cmd.Parameters.Add("@Returnc", SqlDbType.Int);
11 Retvar.Direction = ParameterDirection.Output;
12 int count = cmd.ExecuteNonQuery();
13 return (int)Retvar.Value;
14 }
15 }

本人第一次发博客,不知说清楚了没。望理解!!

posted @ 2011-12-08 15:35  swjm119  阅读(160)  评论(0编辑  收藏  举报