ASP.NET 获取存储过程返回值的实现代码

时间:2022-09-17 17:57:12

1.首先我们要建立一张表(UserInfo)。 
主要字段Id、uname、upass。 
2.创建带返回值的存储过程 

复制代码代码如下:


create proc proc_addUserInfo 
@uname varchar(50), 
@upass varchar(50), 
@Returnc int output 
as 
begin 
insert into erp_user(u_name,u_pass)values(@uname,@upass) 
set @Returnc= isnull(@@identity,0) 
end 


这里返回值我获取的是添加记录的Id。 
后台代码: 

复制代码代码如下:


SqlParameter[] para = new SqlParameter[] 

new SqlParameter("@uname","2012"), 
new SqlParameter("@upass","2012") 
}; 
string sql_para = "dbo.proc_addUserInfo"; 
CommandType type=CommandType.StoredProcedure; 
SQLHelper sqlh = new SQLHelper(); 
int Id=sqlh.ExecuteNoQuery(sql_para,type,para); 


SQLHelper: 

复制代码代码如下:


public int ExecuteNoQuery(string sql,CommandType type,params SqlParameter [] values) 

using (SqlCommand cmd = new SqlCommand(sql, Conn)) 

cmd.CommandType = type; 
if (values != null) 

cmd.Parameters.AddRange(values); 

SqlParameter Retvar = cmd.Parameters.Add("@Returnc", SqlDbType.Int); 
Retvar.Direction = ParameterDirection.Output; 
int count = cmd.ExecuteNonQuery(); 
return (int)Retvar.Value;