Foxtable(狐表)用户栏目专家坐堂 → 如何把A数据源的数据保存到B数据源?


  共有1700人关注过本帖树形打印复制链接

主题:如何把A数据源的数据保存到B数据源?

帅哥哟,离线,有人找我吗?
huangxueyao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
如何把A数据源的数据保存到B数据源?  发帖心情 Post By:2017/9/14 11:05:00 [只看该作者]

系统正在连接A数据源,想要把数据更新到B数据源上,是用什么代码?
类似http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=13283&replyID=&skin=1帖子中说到的问题。

下面这个代码是把B数据源更新到连接中的A数据源。
Dim mg As New Merger
mg.C '指定数据源名称
mg.SourceTableName = "基础资料表" '指定要合并的表
mg.DataTableName = "基础资料表" '指定接收数据的表
mg.Merge() '开始合并

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/14 11:27:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2017/9/14 11:43:00 [只看该作者]

这里都是合并外部数据源到本地数据源,我的问题是合并本地数据源到外部数据源。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/14 11:46:00 [只看该作者]

反过来写代码

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = "数据源名称"
cmd.CommandText = "SELECT * From {员工} where 1=2"
dt = cmd.ExecuteReader(True)
For Each dr As DataRow In DataTables("员工").DataRows
    If dt.Find("身份证号码 = '" & dr("身份证号码") & "'") Is Nothing Then
        Dim nr As DataRow = dt.AddNew()
        For Each dc As DataCol In DataTables("员工").DataCols
            nr(dc.name) = dr(dc.name)
        Next
    End If
Next
dt.save

[此贴子已经被作者于2017/9/14 11:49:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2017/9/14 11:48:00 [只看该作者]

明白了,谢谢,我看了代码还没测试,我以为dt = cmd.ExecuteReader()只是相当于查询,没想到还能反写,谢谢~

 回到顶部
帅哥哟,离线,有人找我吗?
huangxueyao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:443 积分:3530 威望:0 精华:0 注册:2013/2/9 12:45:00
  发帖心情 Post By:2017/9/14 14:45:00 [只看该作者]

反过来写代码

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = "数据源名称"
cmd.CommandText = "SELECT * From {员工} where 1=2"
dt = cmd.ExecuteReader(True)
For Each dr As DataRow In DataTables("员工").DataRows
    If dt.Find("身份证号码 = '" & dr("身份证号码") & "'") Is Nothing Then
        Dim nr As DataRow = dt.AddNew()
        For Each dc As DataCol In DataTables("员工").DataCols
            nr(dc.name) = dr(dc.name)
        Next
    End If
Next
dt.save

画个重点收藏下


 回到顶部