以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 死机 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=157898) |
-- 作者:nbsugu_z -- 发布时间:2020/11/2 10:18:00 -- 死机 老师,以下是将wy_cpd0表所有记录 加到总表wy_cpd中,不重复加。为什么在运行时一直程序死机,二个表结构一样的 Dim Result As DialogResult Result = MessageBox.Show("您确认要结转数据到总数据库吗? ", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then \'结转电费 DataTables("wy_cpd").AllowEdit = True For Each dr1 As Row In Tables("wy_cpd0").Rows Dim dr2 As DataRow = DataTables("wy_cpd").find("yy= " & dr1("yy") & " and yy1=" & dr1("yy1") & " and khbh=\'" & dr1("khbh") & "\'") If dr2 Is Nothing Then dr2 = DataTables("wy_cpd").AddNew() For Each dc As DataCol In DataTables("wy_cpd0").DataCols dr2(dc.Name) = dr1(dc.name) Next End If Next \'保存所有表 For Each dt As DataTable In DataTables dt.Save() Next MessageBox.Show("结转成功!", "提示") End If
|
-- 作者:有点蓝 -- 发布时间:2020/11/2 10:19:00 -- 添加了多少行数据?如果数据比较多,等待代码运行结束肯定是需要比较长时间的,这个时间内程序肯定无法做其它操作的 |
-- 作者:nbsugu_z -- 发布时间:2020/11/2 10:26:00 -- 100行左右 |
-- 作者:有点蓝 -- 发布时间:2020/11/2 10:50:00 -- 1、去掉保存所有表的代码,如果代码只改了一个表的数据,就只保存这个表。如果其它表增加和修改了比较多的数据,保存也是要时间的,特别是远程数据库,保存需要更多的时间 2、检查wy_cpd和需要其它保存数据的表的表事件,修改和保存也会触发相应的表事件,这些都是要时间的
|
-- 作者:nbsugu_z -- 发布时间:2020/11/2 12:42:00 -- OK |