//服务器的表
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
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
{
ds_1.Tables[0].ImportRow(dr);
}ds_1.Merge(ds_2);
foreach (DataRow dtsrow in dtServer.Rows)
{
dtLocal.Rows.Add(dtServer.Rows);
}修改为 foreach (DataRow dtsrow in dtServer.Rows)
{
dtLocal.Rows.Add(dtsrow);
}
{
//服务器的表
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表中 这个目的 ,能帮我解决下不?
但是你是导入数据那就用localTabA.ImportRow(dr);
一个DataTable中的行 直接添加.Add到另一个DataTable中,我想应该会报错。
我后来试过了,导入 复制 克隆 合并什么的只是将数据暂时的放在内存中而已,并不能真正的插入到表中,要实现插入功能最后还得用insert
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);
}
}
{
dtLocal.Rows.Add(dtsrow.ItemArray);
}
最好的解决办法是tabelB.Merge(tableA, true);
如果是这样的话,那你的描述有问题,你没发现大家都是在说怎样将DataTable1的数据追加到DataTable2中吗?
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中
DataTable dtLocal = new DataTable();
dtLocal = dtServer.Clone();
foreach (DataRow dtsrow in dtServer.Rows)
{
dtLocal.ImportRow(dtsrow);
}