我是这样写的
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编辑过]
啊,使用这种方法更新11万行数据!还不如1楼的DataTables("产品").Save()快。
如果是access数据库,只能DataTables("产品").Save(),没有什么好办法。
如果是SqlServer,先使用sqlBulkCopy把所有数据保存到数据库的一个同结构的空表,然后一条直接跨表update即可
如果mssql,则建议直接在后台写一个存储过程,直接在数据库中更新
我的是SQLserver,这个需要在SQL数据库中新建一个表一直保存着吗?
老师,以下这个后台更新的,提示异常 ,代码如下
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编辑过]