以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按照条件复制  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193440)

--  作者:nuoyan89
--  发布时间:2024/9/13 20:36:00
--  按照条件复制
老师,我窗口表中有一个组件,写的的月份:202407,我想《生产成本总表》这个表里的数据按照组件里的月份复制到《生产成本临时表》这个表中
Dim tran As System.Data.SqlClient.SqlTransaction
Try
    Dim conn As New System.Data.SqlClient.SqlConnection("server=192.168.1.10;uid=Sa;pwd=Ab234567;database = 条码扫描系统数据库") \'改为自己数据库的连接字符串
    conn.Open() \'打开链接
    tran = conn.BeginTransaction()
    Dim mapping1 As New System.Data.SqlClient.SqlBulkCopyColumnMapping("月份", "月份") \'改为自己的列名,有多少列就增加多少个
    Dim mapping2 As New System.Data.SqlClient.SqlBulkCopyColumnMapping("项目", "项目")
    Dim mapping3 As New System.Data.SqlClient.SqlBulkCopyColumnMapping("费用明细", "费用明细")
    Dim mapping4 As New System.Data.SqlClient.SqlBulkCopyColumnMapping("金额", "金额")
    Dim mapping5 As New System.Data.SqlClient.SqlBulkCopyColumnMapping("分配方式", "分配方式")
    Dim mapping6 As New System.Data.SqlClient.SqlBulkCopyColumnMapping("说明", "说明")
    Dim copy As New System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran)
    Copy.ColumnMappings.Add(mapping1)
    Copy.ColumnMappings.Add(mapping2)
    Copy.ColumnMappings.Add(mapping3)
    Copy.ColumnMappings.Add(mapping4)
    Copy.ColumnMappings.Add(mapping5)
    Copy.ColumnMappings.Add(mapping6)
    copy.Destinati \'指定服务器上目标表的名称
    copy.BatchSize = 1000
    copy.WriteToServer(DataTables("生产成本总表").basetable) \'你的datatable名字,执行把DataTable中的数据写入DB
    tran.Commit() \'提交事务
    msgbox("OK")
Catch ex As exception
    msgbox(ex.message)
    tran.Rollback() \'返回False 执行失败!
End Try
DataTables("生产成本临时表").Save()

--  作者:有点蓝
--  发布时间:2024/9/13 20:48:00
--  
指定条件加载DataTables("生产成本总表")数据:http://www.foxtable.com/webhelp/topics/1928.htm
--  作者:nuoyan89
--  发布时间:2024/9/13 23:14:00
--  
加载完后再用这个一楼的代码是吗?
--  作者:有点蓝
--  发布时间:2024/9/13 23:21:00
--  
是的。这种试试不就知道了