Foxtable(狐表)用户栏目专家坐堂 → 事务处理问题


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

主题:事务处理问题

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


加好友 发短信
等级:二尾狐 帖子:599 积分:5456 威望:0 精华:0 注册:2011/9/30 8:42:00
事务处理问题  发帖心情 Post By:2016/11/4 8:57:00 [只看该作者]

Dim tran As System.Data.SqlClient.SqlTransaction
try
    Dim conn As new System.Data.SqlClient.SqlConnection("server=voyo;uid=sa;pwd=hailun.;database=Test")
    conn.Open() '打开链接
    tran = conn.BeginTransaction()
    Dim copy As new System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran)
    For Each dc As DataCol In DataTables("表A").datacols
        Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping(dc.name, dc.name)
        Copy.ColumnMappings.Add(mapping1)
    Next
    copy.Destinati '指定服务器上目标表的名称
    copy.BatchSize = 1000
    copy.WriteToServer(DataTables("表D").basetable)   '你的datatable名字,执行把DataTable中的数据写入DB
    tran.Commit()                                  '提交事务
    msgbox("OK")
catch ex As exception
    msgbox(ex.message)
    tran.Rollback()    '返回False 执行失败!
End try

 

有条件的执行复制要怎么写了?


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


加好友 发短信
等级:二尾狐 帖子:599 积分:5456 威望:0 精华:0 注册:2011/9/30 8:42:00
  发帖心情 Post By:2016/11/4 8:57:00 [只看该作者]

比如已经复制的就不再复制了

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


加好友 发短信
等级:二尾狐 帖子:599 积分:5456 威望:0 精华:0 注册:2011/9/30 8:42:00
  发帖心情 Post By:2016/11/4 8:58:00 [只看该作者]

默认两个表识别字段为ID

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/4 9:36:00 [只看该作者]

重新加载DataTables("表D"),过滤掉已经复制的数据

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


加好友 发短信
等级:二尾狐 帖子:599 积分:5456 威望:0 精华:0 注册:2011/9/30 8:42:00
  发帖心情 Post By:2016/11/4 9:41:00 [只看该作者]

除了这个,还有没有别的方法

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


加好友 发短信
等级:二尾狐 帖子:599 积分:5456 威望:0 精华:0 注册:2011/9/30 8:42:00
  发帖心情 Post By:2016/11/4 9:51:00 [只看该作者]

这样可能会出来重复的数据,这个要怎么避免

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/4 10:05:00 [只看该作者]

SqlBulkCopy没有办法加条件的,给多少数据就吃多少

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/4 10:13:00 [只看该作者]

sql2008即以上的版本,可以考虑下用表值参数,能在存储过程中使用条件


 回到顶部