在asp.net中取的存储过程的返回值和输出参数(只能ExecuteNonQuery())

作者:佚名    转贴自:本站原创    点击数:336


   string sConnectionString =User ID=zdp;pwd=zdp;Initial Catalog=aaa;Data Source=(local);
   SqlConnection conn=new SqlConnection(sConnectionString);
   conn.Open();
   SqlCommand cm=new SqlCommand(aaaa,conn);
   cm.CommandType=CommandType.StoredProcedure;
   cm.Parameters.Add(@id,SqlDbType.Int,4);
   cm.Parameters.Add(@test,SqlDbType.Int,4);
   cm.Parameters.Add(@ouid,SqlDbType.Int,4);
   cm.Parameters[@id].Value=Convert.ToInt32(newid.Text.ToString());
   cm.Parameters[@test].Direction=System.Data.ParameterDirection.ReturnValue;
   cm.Parameters[@ouid].Direction=System.Data.ParameterDirection.Output;
   cm.ExecuteNonQuery();
   //OUTRET为存储过程中输出参数给变量outret赋予的值
   string outret=cm.Parameters[@ouid].Value.ToString();
   //returnvalue为存储过程给返回值变量returnvalue赋予的值
   string returnvalue=cm.Parameters[@test].Value.ToString();
   //mes,ret是两个LABEL的ID
   mes.Text=outret.ToString();
   ret.Text=returnvalue.ToString();

//-----------------------------------存储过程

CREATE PROCEDURE aaaa
 @id INT,
@ouid int output
AS
SET NOCOUNT ON
begin
if exists(select * from yg where id=@id)
BEGIN
set @ouid=@id
return 0
END
set @ouid=@id
RETURN 1
end
GO

//--------------
 

posted on 2006-08-22 19:26  六五要零  阅读(1073)  评论(0)    收藏  举报