如何将存储过程生成的多个结果集填充到DATASET中相应的DATATABLE?谢谢。

解决方案 »

  1.   

    我不知道你是不是想表达这个意思:
    ALTER PROCEDURE 查两表AS
    select * from AddressTable where AddressTPKID = 2

    select * from CustomerTable where CustomerTPKID = 2上面是一个存储过程,直接显示出两个数据表你在显示的时候,直接将
    this.DataGrid1.DataSource = Dt.Tables[X-1];
    this.DataGrid1.DataBind();Dt 是 System.Data.DataSet Dt = new DataSet ();
    X表示你想显示第几个表!
    不知道你是不是要这种效果!
      

  2.   

    ds中的table都有对应的名啊
    填充时指定好就的了呗
      

  3.   

    对于用SqlDataAdapter绑定的DataSet而言,本身其中的各个表的默认名称为
    索引值为0的是Table,接下来的就是Table+索引值如:Table1,Table2
    如果你想自定义表名称的话,可以用到TableMappings:
    DA.TableMappings.Add("Table","TableA");
    DA.TableMappings.Add("Table1","TableB");
    如果只有单个表的时候,可以直接映射:DA.Fill(DS,"TableA");
    当然,如果你在DataSet里有多个表,而用了DA.Fill(DS,"TableA");
    那么其中的DataTable的名称就会变成
    TableA
    TableA1
    TableA2的格式