我用SqlDataReader读不到。用什么来读?下面的存储过程返回@d的值.
CREATE PROCEDURE  sjdanweilist  
   @dwbh  varchar(6),
   @d varchar(7999) output
AS
declare  @k varchar(7999)
set @d=char(39)+@dwbh+char(39)+','
set @k=''
while @k<>@d
begin
set @k=@d
select @d=case when charindex(sjdwbh,@d) >0 then  @d+char(39)+yxsh+char(39)+',' else @d end from t_danweixx where charindex(yxsh,@d) <=0
end
if right(@d,1)=',' set @d=left(@d,len(@d)-1)GO

解决方案 »

  1.   

    SqlCommand cmd = new SqlCommand();
    -----string values = cmd.Paraments("@d").ToString();
      

  2.   

    string log_num="";
    SqlConnection sqlcon=new SqlConnection(ConnString);
    SqlCommand sqlc=new SqlCommand("SP_GetNumber",sqlcon);
    sqlc.CommandType=CommandType.StoredProcedure;
    SqlParameter warm;
    warm=sqlc.Parameters.Add("@TableName",SqlDbType.VarChar,40);
    sqlc.Parameters["@TableName"].Value="T_Users";
    warm=sqlc.Parameters.Add("@Var1",SqlDbType.Int);
    warm.Direction=ParameterDirection.Output;
    sqlcon.Open();
    sqlc.ExecuteReader();
    sqlcon.Close();
    Int32 log=(Int32)sqlc.Parameters["@Var1"].Value;
    log_num=log.ToString();
    这是我以前写的.你自己慢慢分析了