存储过程返回2个记录集
SqlDataAdapter.Fill到DataSet(仅一个表)中,如何指定Fill其中的某个记录集

解决方案 »

  1.   

    不明白你的意思
    如果sp中含有多个select
    默认是
    dataset.tables["table"]
    dataset.tables["table2"]
    dataset.tables["table3"]
    dataset.tables["table4"]
    类推
      

  2.   

    例如某存储过程最后会执行如下sql
    select * from myTable where id > 10
    select * from myTable where id < 10
    这不是返回了2个记录集嘛我有一dataset,其中有表myTable,我要指定对myTable填充(SqlDataAdapter.Fill)那两个记录集中的一个,如何指定
      

  3.   

    没试过,用这个试试:
    DataSet ds=new DataSet();
    SqlCommand cmd=new SqlCommand();
    cmd.CommandType=CommandType.StoreProduce;
    SqlDataAdapter da=new SqlDataAdapter();
    da.SelectCommand=cmd;
    da.Fill(ds);
      

  4.   

    返回多个结果集填充DataSet,会自动填充到多个DataTable中。
    如果你已经有了一个预制的DataSet(假设是ds1)
    那么你先填充到一个临时的DataSet(假设是ds2)
    ds1.Tables.Add(ds2.Tables[0]);
    或者
    ds1.Tables[0] = ds2.Tables[0];
      

  5.   

    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
      

  6.   

    非常感谢各位的帮助
    正确的解决方法是在 zhzuo(秋枫) 提供的url所给出的
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx即
    dataAdapter.TableMappings.Add("Table","Customers");
    dataAdapter.TableMappings.Add("Table1","Orders");
    dataAdapter.TableMappings.Add("Table2","Order Details");指定表映射的记录集 "Table"/"Table1"/"Table2"