//服务器的表
            string cmdText = "select * from A";
            DataTable dtServer = new DataTable();
           dtServer= DBHelperServer.GetTable(cmdText);            //本地的表
           string cmdText1 = "select * from B";
           DataTable dtLocal = new DataTable();
           //dtLocal = DBHelperLocal.GetTable(cmdText1);
       foreach (DataRow dtsrow in dtServer.Rows)
         {
           dtLocal.Rows.Add(dtServer.Rows);              
         }
           dtLocal = DBHelperLocal.GetTable(cmdText1);
           this.dgvB.DataSource = dtLocal;谁能告诉我该怎么把 dtServer 这张表的数据添加到dtLocal 这张表里来啊? 两张表的表结构是一样的,字段为 name  age foreach

解决方案 »

  1.   

      foreach (DataRow dr in ds_2.Tables[0].Rows)
                    {
                        ds_1.Tables[0].ImportRow(dr);
                    }ds_1.Merge(ds_2);
      

  2.   


     foreach (DataRow dtsrow in dtServer.Rows)
             {
               dtLocal.Rows.Add(dtServer.Rows);              
             }修改为 foreach (DataRow dtsrow in dtServer.Rows)
             {
               dtLocal.Rows.Add(dtsrow);              
             }
      

  3.   

    谢谢你们,我最终的目的是想服务器上的A表insert 到本地数据库的B 表中,求帮助啊
      

  4.   

      public void FilldgvB()
            {
                //服务器的表
                string cmdText = "select * from A";
                DataTable dtServer = new DataTable();
                dtServer = DBHelperServer.GetTable(cmdText);
                //本地的表
                string cmdText1 = "select * from B";
                DataTable dtLocal = new DataTable();
                dtLocal = DBHelperLocal.GetTable(cmdText1);            DataRow[] dtrows = new DataRow[dtServer.Rows.Count];            dtServer.Rows.CopyTo(dtrows, 0);            foreach (DataRow dt in dtrows)
                {
                    dtLocal.Rows.Add(dt.ItemArray);
                }
                //将A表数据插入到B表中
                string cmdText2 = "insert into B select * from A";
                if (DBHelperLocal.UpdateSQL(cmdText2))
                {
                    this.dgvB.DataSource = dtLocal;
                }
              
               我最终是想实现  //将A表数据插入到B表中 这个目的 ,能帮我解决下不?
      

  5.   

    本来单纯的复制可以用Copy()
    但是你是导入数据那就用localTabA.ImportRow(dr);
      

  6.   

    dtLocal.Rows.Add(dtServer.Rows);  
    一个DataTable中的行 直接添加.Add到另一个DataTable中,我想应该会报错。
      

  7.   


    我后来试过了,导入 复制 克隆 合并什么的只是将数据暂时的放在内存中而已,并不能真正的插入到表中,要实现插入功能最后还得用insert
      

  8.   

    谢谢楼上所有答复的人,问题终于解决了,特此贴出最终版代码
      public void FilldgvB()
            {
                //服务器的表
                string cmdText = "select * from A";
                DataTable dtServer = new DataTable();
                dtServer = DBHelperServer.GetTable(cmdText);
                //本地的表
                string cmdText1 = "select * from B";
                DataTable dtLocal = new DataTable();
                dtLocal = DBHelperLocal.GetTable(cmdText1);            //将服务器数据库的表A插入到本地数据库的表B中
                foreach (DataRow dtrow in dtServer.Rows)
                {
                    string name = dtrow["name"].ToString();
                    string age = dtrow["age"].ToString();
                    string cmdText2 = "insert into B values('"+name+"','"+age+"')";
                    if (DBHelperLocal.UpdateSQL(cmdText2))
                    {
                        this.dgvB.DataSource = DBHelperLocal.GetTable(cmdText1);
                    }
                }
      

  9.   

     foreach (DataRow dtsrow in dtServer.Rows)
             {
               dtLocal.Rows.Add(dtsrow.ItemArray);              
             }
      

  10.   

    上面只是满足你的foreach需求
    最好的解决办法是tabelB.Merge(tableA, true);
      

  11.   

    你的意思将服务器上的数据库数据导入到本地相同结构的数据库中是吧?
    如果是这样的话,那你的描述有问题,你没发现大家都是在说怎样将DataTable1的数据追加到DataTable2中吗?
      

  12.   

     
    foreach (DataRowView1 r in 表1.DefaultView)
     {          
      DataRowView r2=(DataRowView)表2bindingSource1.AddNew();
      r2["ID"]=r1["ID"]; //有多少字段就写多少
      r2["姓名"]=r1["姓名"]; 
       ......
      this.Validate();
      this.表2bindingSource1.EndEdit();
      this.表2TableAdapter.Update(DataSet.表2);
    }我一直是这么插入的,循环表1每行(表1可按条件查),按行插入表2中
      

  13.   


            DataTable dtLocal = new DataTable();
            dtLocal = dtServer.Clone();
         foreach (DataRow dtsrow in dtServer.Rows)
             {
                 dtLocal.ImportRow(dtsrow);             
             }
      

  14.   

    谢谢你们,我最终的目的是想服务器上的A表insert 到本地数据库的B 表中,已经实现了