以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码效率太低,求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9391) |
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 8:29:00 -- 代码效率太低,求助 运行表B的窗口,效率太低,求助
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/4/6 8:53:00 -- 呵呵,有好多方法,有的可以快上几百倍,而且你恰好选择了最慢的。 我想先问一下,你用SQLCommand统计,是因为表C的数据没有全部加载吗?
|
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 9:23:00 -- 是的,因为表没有使用加载,所以才想用SQL 在表不加载的前提下,有什么其他更快的方法? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/4/6 9:38:00 -- 1、用SQL语句,一行代码搞定:
DataTables("表B").Fill("Select 第一列, sum(第二列) As 小计 From {表C} Group by 第一列",True)
2、用FoxTable的统计工具:
Dim g As New GroupTableBuilder("统计表1", DataTables("表C")) |
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 9:53:00 -- 我试试 |
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 11:07:00 -- 速度确实快了许多。 还有一个问题,我想计算某一期间,期初、期末、入库、出库,这样高效的SQL代码如何写? 窗口在表C中
[此贴子已经被作者于2011-4-6 11:08:35编辑过]
|
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 11:15:00 -- 还可能是外部数据源。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/4/6 11:33:00 -- 这种用SQL语句超出我的水平范围了,需要精通SQL语句的才行。 我只会有三个SQL语句分别求出期初,出库,入库,然后组合成一个表。 |
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 11:44:00 -- 以下是引用狐狸爸爸在2011-4-6 11:33:00的发言:
这种用SQL语句超出我的水平范围了,需要精通SQL语句的才行。 我只会有三个SQL语句分别求出期初,出库,入库,然后组合成一个表。 期初如何求,这三个数据,如何合成一个表? |
||||
-- 作者:lihe60 -- 发布时间:2011/4/6 11:46:00 -- 期末,我会通过代码实现的。
|