dataset ds=new dataset();
sqldatapter.fill(ds,"mytable");//在这里表名我取的是与查询数据库中原表的表名不同的名字
应该所填充的就是mytable,可为什么ds里只有与所查询的数据库原表的表名相同的datatable?

解决方案 »

  1.   

    dataset ds=new dataset();
    sqldatapter.fill(ds,"mytable");
    在这里表名是自己随便定义的.
    甚至可以不要表名直接写sqldatapter.fill(ds);
    这时候系统将会自动设置表明为table..............
    以后如果需要访问表
    Table tb=ds[0];访问第1个表
      

  2.   

    DataTable dt = DS.Tables["这里可以是索引或者名称"]
      

  3.   

    DataTable table=new DataTable("MyTable");dataset ds=new dataset();
    sqldatapter.fill(ds,"mytable");
      

  4.   

    应该所填充的就是mytable,可为什么ds里只有与所查询的数据库原表的表名相同的datatable?
    ==========================
    那个"mytable"是给你用的,可以随便定义
    以便你在以后盺代码中使用
    如:
    ds["mytable"].XXXX
    而你说的"ds里只有与所查询的数据库原表的表名相同的datatable"
    那个名字才是表名换名话说"mytable"相当于从数据库查出来的那个datatable的别名
    程序会根据这个别名在dataset中找对应的表
      

  5.   

    DataTable table=new DataTable("MyTable");dataset ds=new dataset();
    sqldatapter.fill(ds,"mytable");
    这位叫lovefootball(蟑螂) 的回复者中在第一行取了一个名为table的datatable,那请问
    conan1211(柯楠) 先生,这个名为table的东东是Mytable的别名还是为ds 中新加了一个
    名为table和datatalbe的表,我的意思再明显不过了,我指的是ds里有没有名为table的表?
      

  6.   

    在这里的table是那个datatable的实例名
    也就是一个DataTable对象的一个引用
    它对应着一个DataTable的一个实例
    MyTable是这个DataTable的别名sqldatapter.fill(ds,"mytable");
    还可以写成
    sqldatapter.fill(ds,table);
    不过第一钟我还没有试过
    我常用的是我写的这种
    它是把一个DataTable的实例fill到ds中
    而第种方式的第二个参数只是一个字符串而已
    .NET会知道在哪去找名为这个字符串的表吗?如果那个名为"mytable"的DataTable已经存在于ds中
    也就是sqldatapter.fill(ds,table);以后
    你就可以通过ds.Table["mytable"]来获取这个DataTable
    在ds.Table["mytable"]中
    .NET就会在ds中去找名为"mytable"的表了所以说"mytable"才是表的名字
    而table是DataTable这个类的一个实例的实例名而已
      

  7.   

    conan1211(柯楠) 
    mabye you r right.but how can we create many tables of DataTable object in one dataset?
    and just now ,i made a try .
    sqlDataAdapter1.selectcommand.commandtext="select * from expcourse";
     sqlDataAdapter1.fill(ds,"expcourse");//here the table name "expcourse"is just the name
                                              of my SQl server database's table's name.
    ds.tables.clear();//i dot not konw exectly this line whether can be delected.
    sqlDataAdapter1.selectcommand.commandtext="select * from expReport";
    sqlDataAdapter1.fill(ds,"expReport");
    Page.Response.Write(ds.Tables[0]);
    Page.Response.Write(ds.Tables[1]);//i try to know if two tables in ds
    but  when i see the ds,i can only see ont table "expcourse" there.