老师,我有个窗口表,数据有个11万行,每次点击保存的时候基本上就不动了,像死机了一样。代码如下,是写在控件按钮上的。
DataTables("产品").Save()
就在窗口表中ITEMCLICK/afterload有一些代码,还有窗口表中控件按钮里有查询的代码,其他地方没有代码了,代码如附件
这些都是窗口事件。窗口表事件、全局表事件有没有什么代码?
窗口表中的全局事件没有任何代码,项目的全局事件也没有代码
11万行全部都是改过数据的,全部都要保存?还是说11万行只是其中几行的数据被改过?
11万行是全部改过数据的,全部都要保存,因为是做的成本分配
这种就没有办法了,这么多数据保存肯定是需要时间的。如果是远程数据库,考虑到带宽等原因会更慢。或者考虑分批进行处理,处理一部分就保存一部分
我现在就是处理一部分保存一部分,保存慢就算了,保存了一晚上还没有保存完
看看任务管理器,如果程序的CPU使用率还在变化,说明还在保存,可能是网络等原因。如果没有变化,说明程序已经卡死了。
如果这些数据都是新增的可以换种方式保存:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=147288
如果不是新增,换个思路也可以处理,就是在数据库提供一个临时空表,先使用sqlBulkCopy把数据全部导入空表,然后使用sql的update功能把空表刚导入的数据更新到业务表里