在数据库中定义了一个存储过程,它有一个输出参数,类型是table(一个查询的结果集),现在问题是在前台应用程序中怎么接受这个table类型的参数?

解决方案 »

  1.   

    和执行sql语句一模一样,只是command类型不同
    cmd.CommandType=CommandType.StoredProcedure;
    其他都一样
      

  2.   

    SqlCommand cmd=new SqlCommand(); 
       cmd.Connection=this.conn ; 
    cmd.CommandType=CommandType.StoredProcedure;
    cmd.CommandText=strSP;
       if(inTransaction) 
         cmd.Transaction=trans; 
       SqlDataAdapter ad = new SqlDataAdapter();
       if((strParams==null)||(strParams.Length==strValues.Length) ) 
    {
       if(strParams!=null) 
    {
       for(int i=0;i<strParams.Length;i++)
    cmd.Parameters.Add(strParams[i],strValues[i]); 
    }
      ad.SelectCommand=cmd;
    ad.Fill(ds,TableName);
    }
    return ds;
      

  3.   

    我这里返回的是DataSet,你用的时候DataSet.Tables[0]就是DataTable
      

  4.   

    DataTable dt=(Datable)paremeterDataTable;抢分