关于从一个库表向另一个库表写入数据的问题

mbm 2002-04-09 10:43:37
我有两个数据库,db1和db2,它们都有表t,并且表架构完全一样,现在想把db1中t表的数据写入db2的t表中,下面的代码有何错误?

private void db1todb2()
{
string connstring1="data source=MBM;initial catalog=db1;user id=mbm;password=mbm";
string querysql1="select * from t";
SqlConnection conn1=new SqlConnection(connstring1);
conn1.Open();
SqlDataAdapter adapter1=new SqlDataAdapter(querysql1,conn1);
DataSet ds1=new DataSet();
adapter1.Fill(ds1,"t");
conn1.Close();

string connstring2="data source=MBM;initial catalog=db2;user id=mbm;password=mbm";
string querysql2="select * from t";
SqlConnection conn2=new SqlConnection(connstring2);
conn2.Open();
SqlDataAdapter adapter2 = new SqlDataAdapter();
adapter2.SelectCommand = new SqlCommand(querysql2, conn2);
SqlCommandBuilder mycb = new SqlCommandBuilder(adapter2);
DataSet ds2=new DataSet();
adapter2.Fill(ds2,"t");

ds2=ds1;
// ds2=ds1.copy();
// foreach(DataRow dr in ds1.Tables["t"].Rows)
// {
// ds2.Tables["t"].ImportRow(dr);
// }
adapter2.Update(ds2,"t");//这行不报错,但为什么不能将数据写入db2数据库呢?

conn2.Close();

DataGrid1.DataSource=ds2.Tables["t"].DefaultView;;
DataGrid1.DataBind();

}
...全文
34 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mbm 2002-04-09
  • 打赏
  • 举报
回复
问题解决,全给娇娇了!
yxrj 2002-04-09
  • 打赏
  • 举报
回复
ImportRow()时不写DateSet的change副本,
而SqlDataAdapter.Update()是根据change副本来写回数据库的
所以要这样

foreach(DataRow dr in ds1.Tables["t"].Rows)
{
ds2.Tables["t"].Rows.Add(dr.ItemArray);
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧