都是把SqlDataAdapter的selectcommand命令查询到的记录填充到dataset
不同的是:sda.Fill(ds,tableName)是填充到指定的dataset映射表中

解决方案 »

  1.   

    指定逻辑表名以后可以通过ds.tables["tablename"]访问否则则是ds.tables[0]
    0,1,2一个一个下去
      

  2.   

    sda.Fill(ds),把记录集付给ds中的系统默认的一个表中("Table1")
    sda.Fill(ds,tableName)是把记录集付给你指定的表中表名就是tableName中的字符串.
      

  3.   

    个人觉得如果要用于数据绑定,则带一个明确的名字是必要的,比如要和DataGrid来绑定最好用一个明确名字.
      

  4.   

    dataset可能有多个表 这个时候用个表名便于区分和操作
      

  5.   

    填充多表的情况下使用,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
      

  6.   

    SqlDataAdapter sda = new SqlDataAdapter()DataSet ds = new DataSet()
    生成了一个 DataSet 对象后,它其中的表可以通过: ds.Tables[0]、ds.Tables[1]来等到;若用的是下面的语句:
    sda.Fill(ds);
    这句话说明:把SqlDataAdapter对象的selectcommand命令查询到的记录填充到Dataset对象的
    ds.Tables[0]中去了;若用的是下面的语句:
    sda.Fill(ds,tableName);那么在这句话之前你应该为Dataset对象添加这个 table对象,如:
    ds.Tables.Add(tableName);这样做的意思说明:把SqlDataAdapter对象的selectcommand命令查询到的记录填充
    到Dataset对象的以tableName为名字的tables中去
      

  7.   

    DataSet ds = new DataSet()
    SqlDataAdapter sda = new SqlDataAdapter()
    sda.Fill(ds)//单一表
    sda.Fill(ds,tableName)//多表
      

  8.   

    我觉得每次sda.Fill时确定表名是一个好的习惯,便于后面的使用,并没有任何坏处。