以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请帮忙优化代码 ,估计 for each嵌套太多了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52023) |
-- 作者:zhchling -- 发布时间:2014/6/7 14:46:00 -- 请帮忙优化代码 ,估计 for each嵌套太多了 是有关房态表的一段代码, 我估计是嵌套的FOR EACH太多了, 执行起来有明显的延迟,估计1秒以上.
看能否优化代码,提高效率?
Dim mon As Integer = Tables("userb").current("zcldidariqi").Month If Tables("userb").current("zcldidariqi").adddays(3).day < Tables("userb").current("zcldidariqi").day Then \'如果跨月 s = "Select 房型, \' \' As 房间号 , " & s.trim(",") & " from {客房信息表} order by 排序 " Dim dt As DataTable = DataTables("选房窗口_table1") If dt.DataRows.Count < DataTables("客房信息表").DataRows.Count Then e.Form.Text = Date.Today.Year & "年" & Date.Today.Month & "月房态表"
|
-- 作者:Bin -- 发布时间:2014/6/7 14:49:00 -- 这种方式,数据量大了怎么也快不了. |
-- 作者:blackzhu -- 发布时间:2014/6/7 14:49:00 -- 1秒还不好?就滴答下 |
-- 作者:zhchling -- 发布时间:2014/6/7 14:51:00 -- 版主回复神速.
怎么能换别的方式呢? 房态表的事困扰我很长时间了. |
-- 作者:zhchling -- 发布时间:2014/6/8 14:07:00 -- For Each xcdr As DataRow In DataTables("zclxingcheng").DataRows 这个是遍历全部表, 怎么限制条件, 比如 只遍历 日期大于今天的行. |
-- 作者:有点甜 -- 发布时间:2014/6/8 15:18:00 -- 以下是引用zhchling在2014-6-8 14:07:00的发言:
For Each xcdr As DataRow In DataTables("zclxingcheng").DataRows 这个是遍历全部表, 怎么限制条件, 比如 只遍历 日期大于今天的行.
看这里 http://www.foxtable.com/help/topics/0400.htm
|
-- 作者:zhchling -- 发布时间:2014/6/8 22:02:00 -- http://www.foxtable.com/help/index.html?n=0400.htm 帮助里有关于 查询与赋值并存 会影响效率的文章, 似乎和我的问题有些类似. 但不知道怎么修改代码.
第3级的FOR EACH里面这段代码非常耗时
怎么优化却没有思路.
|
-- 作者:有点甜 -- 发布时间:2014/6/8 22:05:00 -- 做个例子发上来测试。 |
-- 作者:zhchling -- 发布时间:2014/6/8 22:16:00 -- 我没有发短信的权利? 版主我怎么联系你? 例子需要单独发给你. 涉及到数据库安全. |
-- 作者:zhchling -- 发布时间:2014/6/8 22:33:00 -- 可否把论坛里发短信的功能打开? |