ASP.Net2 中取得Sql Server存储过程的返回值
1、在SQL中创建存储过程
if Exists(select name from sysobjects
where name='FStorageIsNull' and type='P')
drop proc FStorageIsNull
go
Create proc FStorageIsNull @filialid varchar(6),@giftid varchar(6 ),@result bit output
as
begin
declare @numbers int
select @numbers=numbers from filial_Storage where filial_ids=@filialid and ids=@giftid
if @numbers=0
set @result=0
else
set @result=1
return @result
end
where name='FStorageIsNull' and type='P')
drop proc FStorageIsNull
go
Create proc FStorageIsNull @filialid varchar(6),@giftid varchar(6 ),@result bit output
as
begin
declare @numbers int
select @numbers=numbers from filial_Storage where filial_ids=@filialid and ids=@giftid
if @numbers=0
set @result=0
else
set @result=1
return @result
end
2、创建反回值参数
SqlCommand com = new SqlCommand("FStorageIsNull", SqlCon);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add("@Businessid", Businessid);
com.Parameters.Add("@giftid", giftid);
SqlParameter par = new SqlParameter("@Result", SqlDbType.Bit);//定义参数
com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add("@Businessid", Businessid);
com.Parameters.Add("@giftid", giftid);
SqlParameter par = new SqlParameter("@Result", SqlDbType.Bit);//定义参数
com.Parameters.Add(par);//添加参数
par.Direction = ParameterDirection.Output;//定义为返回值参数
par.Direction = ParameterDirection.Output;//定义为返回值参数
其中@Result是存储过程定义中的返回参数。
3、取得参数
SqlCon.Open();
com.ExecuteNonQuery();//执行存储过程
Boolean result = false;
try
{ result = Convert.ToBoolean(com.Parameters["@Result"].Value);获得返回值
catch
{ }
com.Dispose();
SqlCon.Close(); }//
com.ExecuteNonQuery();//执行存储过程
Boolean result = false;
try
{ result = Convert.ToBoolean(com.Parameters["@Result"].Value);获得返回值
catch
{ }
com.Dispose();
SqlCon.Close(); }//