Foxtable(狐表)用户栏目专家坐堂 → 代码效率太低,求助


  共有15688人关注过本帖树形打印复制链接

主题:代码效率太低,求助

帅哥哟,离线,有人找我吗?
lihe60
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
代码效率太低,求助  发帖心情 Post By:2011/4/6 8:29:00 [只看该作者]

运行表B的窗口,效率太低,求助
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/6 8:53:00 [只看该作者]

呵呵,有好多方法,有的可以快上几百倍,而且你恰好选择了最慢的。

我想先问一下,你用SQLCommand统计,是因为表C的数据没有全部加载吗?

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/6 9:23:00 [只看该作者]

是的,因为表没有使用加载,所以才想用SQL

在表不加载的前提下,有什么其他更快的方法?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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"))
g.Groups.AddDef("第一列")
g.Totals.AddDef("第二列")
g.FromServer = True
g.Build()
MainTable = Tables("统计表1")


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/6 9:53:00 [只看该作者]

我试试

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/6 11:07:00 [只看该作者]

速度确实快了许多。

还有一个问题,我想计算某一期间,期初、期末、入库、出库,这样高效的SQL代码如何写?

窗口在表C中

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar

[此贴子已经被作者于2011-4-6 11:08:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/6 11:15:00 [只看该作者]

还可能是外部数据源。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/6 11:33:00 [只看该作者]

这种用SQL语句超出我的水平范围了,需要精通SQL语句的才行。

我只会有三个SQL语句分别求出期初,出库,入库,然后组合成一个表。


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/6 11:44:00 [只看该作者]

以下是引用狐狸爸爸在2011-4-6 11:33:00的发言:

这种用SQL语句超出我的水平范围了,需要精通SQL语句的才行。

我只会有三个SQL语句分别求出期初,出库,入库,然后组合成一个表。

期初如何求,这三个数据,如何合成一个表?


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/4/6 11:46:00 [只看该作者]

期末,我会通过代码实现的。

 


 回到顶部
总数 22 1 2 3 下一页