Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:保存太慢

11楼
nuoyan89 发表于:2024/7/4 16:19:00
sqlBulkCopy这个有实例吗?
12楼
有点蓝 发表于:2024/7/4 16:27:00
上面论坛链接里就有可用的代码
13楼
nuoyan89 发表于:2024/7/4 16:40:00
我是这样写的
Dim cmd1 As New SQL Command
cmd1.Con necti
For Each dr7 As Row In Tables("生产报工明细_生产报工查询表").Rows
    cmd1.CommandText = "UP DATE {过程异常明细} SET 单据状态 = '" & dr7("单据状态") & "',判定结果 = '" & dr7("判定结果") & "',返修操作 = '" & dr7("返修操作") & "',级别类型 = '" & dr7("级别类型") & "',责任人 = '" & dr7("责任人员") & "',处理方案 = '" & dr7("处理方案") & "' where 毛坯编码 = '" & dr7("毛坯编码") & "' And 加工工序 = '" & dr7("加工工序") & "' And 月份 = '" & dr7("月份") & "'"
Next
cmd1.Ex ecuteNonQuery()
[此贴子已经被作者于2024/7/4 16:41:00编辑过]
14楼
有点蓝 发表于:2024/7/4 16:49:00
啊,使用这种方法更新11万行数据!还不如1楼的DataTables("产品").Save()快。

如果是access数据库,只能DataTables("产品").Save(),没有什么好办法。

如果是SqlServer,先使用sqlBulkCopy把所有数据保存到数据库的一个同结构的空表,然后一条直接跨表update即可
15楼
kaiyu 发表于:2024/7/4 16:59:00
 如果mssql,则建议直接在后台写一个存储过程,直接在数据库中更新
16楼
nuoyan89 发表于:2024/7/4 17:21:00
我的是SQLserver,这个需要在SQL数据库中新建一个表一直保存着吗?
17楼
有点蓝 发表于:2024/7/4 17:23:00
更新业务表数据后,清空这个表即可
18楼
nuoyan89 发表于:2024/7/4 22:07:00
老师,以下这个后台更新的,提示异常 ,代码如下
        Dim cmd1 As New SQL Command
        cmd1.Connec ti 
        cmd1.Comm andText = "UP DATE  a1 Set a1.直接材料_配件成本  = b1.直接材料_配件成本 ,   From 保存临时表 as b1 ,工序跟踪表 as a1 Where a1.月份= b1.月份 and a1.毛坯编码 = b1.毛坯编码 and a1.加工工序  = b1.加工工序 and a1.生产批次  = b1.生产批次"
        cmd1.ExecuteNonQuery() 

[此贴子已经被作者于2024/7/4 22:14:15编辑过]
19楼
nuoyan89 发表于:2024/7/4 22:15:00
找到原因了,谢谢
共19 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02832 s, 2 queries.