目标:
把数据库中读出来的DataSet中的内容转移倒一个定义好schema的DataSet中。
读出来的DataSet的列定义和个数和定义好的DataSet不一致。大概的想法:
DataAdapter.Fill的时候,使用mapping。好像看到过类似的例子,现在找不到了。不使用手动循环代入方式。
希望能得到实例。

解决方案 »

  1.   

    看你的意思。你只想fill一次吗?
      

  2.   

    为什么不直接fill到后面的dataset中了
      

  3.   

    如果直接能fill到后面的当然可以,问题是我想得到的dataset的列名,个数和数据库的不一致,有对应关系。
      

  4.   

    try:
    DataTableMapping tMap;
    DataColumnMapping[] cMapArray;
    tMap = da.TableMappings.Add("Table","yourTable");
    cMapArray = new DataCloumnMapping[]{new DataColumnMapping("cloumn1","yourCloumn1"),
                                        new DataColumnMapping("cloumn2","yourCloumn2"),
                                        new DataColumnMapping("cloumn3","yourCloumn3"),};
    tMap.ColumnMappings.AddRange(cMapArray);
    da.fill(dataset);
      

  5.   

    dataset.merge()
    不过,好像schema要一样.才可以,楼主试试!
      

  6.   

    如果直接能fill到后面的当然可以,问题是我想得到的dataset的列名,个数和数据库的不一致,有对应关系。
    ---------------------------------------------------------
    其实你应该在SQL语句中坐下手脚就好啦,列名可以在SQL中用as实现,也可以使用DataColumnMapping来映射字段