以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 外部数据源高速合并的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106996) |
-- 作者:liufucan -- 发布时间:2017/9/19 20:18:00 -- 外部数据源高速合并的问题 合并后只有一行,而且主键列还是空白的 |
-- 作者:有点蓝 -- 发布时间:2017/9/19 20:47:00 -- 请上传实例说明 |
-- 作者:liufucan -- 发布时间:2017/9/20 9:00:00 -- 这段代码可以秒速合并内部表到外部表(测试数据两千多行),分享给大家! DataTables("总表").DataRows.Clear Dim tran As System.Data.SqlClient.SqlTransaction try Dim conn As new System.Data.SqlClient.SqlConnection("server=;uid=sa;pwd=123;database=DataSQL") \'改为自己数据库的连接字符串 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 mapping7 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("销售面积", "销售面积") Dim mapping8 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("户型1", "户型1") Dim mapping9 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("户型2", "户型2") Dim mapping10 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("底价", "底价") Dim mapping11 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("备案价", "备案价") Dim mapping12 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("按揭表价", "按揭表价") Dim mapping13 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("一次性表价", "一次性表价") Dim mapping14 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("楼号", "楼号") Dim mapping15 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("单元", "单元") Dim mapping16 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("房间号", "房间号") Dim mapping17 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("楼层", "楼层") Dim mapping18 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.ColumnMappings.Add(mapping7) Copy.ColumnMappings.Add(mapping8) Copy.ColumnMappings.Add(mapping9) Copy.ColumnMappings.Add(mapping10) Copy.ColumnMappings.Add(mapping11) Copy.ColumnMappings.Add(mapping12) Copy.ColumnMappings.Add(mapping13) Copy.ColumnMappings.Add(mapping14) Copy.ColumnMappings.Add(mapping15) Copy.ColumnMappings.Add(mapping16) Copy.ColumnMappings.Add(mapping17) Copy.ColumnMappings.Add(mapping18) copy.DestinationTableName = "总表" \'指定服务器上目标表的名称 copy.BatchSize = 1000 copy.WriteToServer(DataTables("总表1").basetable) \'你的datatable名字,执行把DataTable中的数据写入DB tran.Commit() \'提交事务 msgbox("OK") catch ex As exception msgbox(ex.message) tran.Rollback() \'返回False 执行失败! End try [此贴子已经被作者于2017/9/20 10:33:28编辑过]
|
-- 作者:liufucan -- 发布时间:2017/9/20 9:09:00 -- copy.Destinati \'指定服务器上目标表的名称 怎么这个地方的代码死活粘贴不上,想分享都不行
[此贴子已经被作者于2017/9/20 9:18:31编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/9/20 9:29:00 -- 以下是引用liufucan在2017/9/20 9:09:00的发言:
copy.Destinati \'指定服务器上目标表的名称 怎么这个地方的代码死活粘贴不上,想分享都不行
[此贴子已经被作者于2017/9/20 9:18:31编辑过]
弄成斜体就可以了,比如 copy.DestinationTableName = "表D" |