ASP.NET 获取存储过程返回值的实现代码
编程学习 2021-07-04 22:40www.dzhlxh.cn编程入门
ASP.NET 获取存储过程返回值的实现代码,需要的朋友可以参考下。
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;
}
}
主要字段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;
}
}