打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SqlServer将一个数据库中表的数据复制到另一个数据库的表中

首先,要在A和B数据库中创建两个同名同结构的表,其中B数据库的表为目标表.

复制语句如下:

            SqlConnection ConectionFrom = new SqlConnection("Data Source=192.168.1.59;Initial Catalog=A;uid=dev;pwd=dev");//数据库连接语句,看情况自己改
            string sqlfrom = "SELECT * FROM FLFTD_NFLOutLine";
//查表语句,看情况自己改
            SqlDataAdapter adfrom = new SqlDataAdapter(sqlfrom, ConectionFrom);
            DataTable dtfrom = new DataTable();
            adfrom.Fill(dtfrom);

            SqlConnection ConectionTo = new SqlConnection("Data Source=192.168.1.59;Initial Catalog=B;uid=dev;pwd=dev");//数据库连接语句,看情况自己改

           string sqlto = "SELECT * FROM FLFTD_NFLOutLine";  //查表语句,看情况自己改
            SqlDataAdapter adto = new SqlDataAdapter(sqlto, ConectionTo);
            DataTable dtto = new DataTable();
            adto.Fill(dtto);//填结构
       
           // dtto = dtfrom.Copy();//不好用
            //dtto.Merge(dtfrom);//不好用
          
for (int i = 0; i < dtfrom.Rows.Count; i++)
            {
                DataRow dr = dtto.NewRow();//根据datatable结构新建行
                for (int j = 0; j < dtfrom.Columns.Count; j++)
                {
                    dr[j] = dtfrom.Rows[i][j];//复制
                }
                dtto.Rows.Add(dr);//添加该行
            }

            SqlCommandBuilder cb = new SqlCommandBuilder(adto);
            adto.Update(dtto);//可以理解为把内存中的ds值写入数据库用

具体思想非常简单,就是用不同的adapter绑定2个不同DataTable,从一个DataTable拷贝到另一个DataTable.但是问题在于使用DataTable的Copy和Merge方法都无效,虽然在内存中可以看到dtto表已赋值,但是执行Update方法之后,数据库仍未改变.我怀疑是Copy方法返回一个新的DataTable引用覆盖了原来和adapter绑定的表相关联的引用.

所以必须一个一个的赋值^_^.......

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C# 通过DataGridView更新数据库
DataGridView同步更新到数据库
asp.net学习之ado.net(无连接模式中的DataAdapter)
sql server中批量插入与更新两种解决方案分享
c# 通过 DataSet 对象更新数据库
DropDownList数据绑定第一项为空
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服