以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 根据输入的内容自动查询表中的数据,数据量大怎么处理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42719) |
-- 作者:wuxianzuoji41 -- 发布时间:2013/11/20 10:52:00 -- 根据输入的内容自动查询表中的数据,数据量大怎么处理 Dim txt As String = e.Form.Controls("txtMingcheng").Text End If
如果 Tables("窗口产品销售_tblChanpin")有几十万或者百万级别,需要吧数据全部调出来才能处理,怎么实现不全部调出来数据,但是又不影响使用功能
|
-- 作者:Bin -- 发布时间:2013/11/20 11:06:00 -- 呵呵,这种你别想了. 不可能不影响的. 10年后的电脑和网络带宽也许有这样的性能吧! 采用分页加载的形式吧,你看我们论坛不也是分页加载么,不可能把几十万的帖子全部加载出来的,先不说性能问题,单单是浏览查看都不方便. |
-- 作者:wuxianzuoji41 -- 发布时间:2013/11/20 11:11:00 -- bin,如果分页加载他也只是模糊查询的那个分页页面的数据,也不是全部的数据呀
除非不用表的tbl.Filter方式,而改成SQL的查询方式,只能TEXT输入完毕查询,而无法做到感应查询 [此贴子已经被作者于2013-11-20 11:16:33编辑过]
|
-- 作者:lihe60 -- 发布时间:2013/11/20 11:30:00 -- 以下是引用wuxianzuoji41在2013-11-20 10:52:00的发言:
Dim txt As String = e.Form.Controls("txtMingcheng").Text End If
如果 Tables("窗口产品销售_tblChanpin")有几十万或者百万级别,需要吧数据全部调出来才能处理,怎么实现不全部调出来数据,但是又不影响使用功能
不可能出现在几百万条信息里筛选。
给个思路,选按条件少量加载,再筛选。 |
-- 作者:狐狸爸爸 -- 发布时间:2013/11/20 11:49:00 -- 以下是引用wuxianzuoji41在2013-11-20 11:11:00的发言:
bin,如果分页加载他也只是模糊查询的那个分页页面的数据,也不是全部的数据呀
除非不用表的tbl.Filter方式,而改成SQL的查询方式,只能TEXT输入完毕查询,而无法做到感应查询
1、设置好分页加载。
2、代码改为: Dim txt As String = e.Form.Controls("txtMingcheng").Text End If tbl.Loadtop = 1000 \'假定每页1000行 tbl.Loadpage = 0 tbl.Load() |
-- 作者:wuxianzuoji41 -- 发布时间:2013/11/20 12:20:00 -- 以下是引用狐狸爸爸在2013-11-20 11:49:00的发言:
1、设置好分页加载。
2、代码改为: Dim txt As String = e.Form.Controls("txtMingcheng").Text End If tbl.Loadtop = 1000 \'假定每页1000行 tbl.Loadpage = 0 tbl.Load() 狐狸爸爸不行呀,还是检索的是当前分页的数据, 你说的是每1000行分1页吗
[此贴子已经被作者于2013-11-20 12:20:17编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2013/11/20 12:32:00 -- 1000行一页:
Dim txt As String = e.Form.Controls("txtMingcheng").Text End If Tables("窗口产品销售_tblChanpin").Filter = “” tbl.Loadtop = 1000 \'假定每页1000行 tbl.Loadpage = 0 tbl.Load() |
-- 作者:wuxianzuoji41 -- 发布时间:2013/11/20 12:49:00 -- 以下是引用狐狸爸爸在2013-11-20 12:32:00的发言:
1000行一页:
Dim txt As String = e.Form.Controls("txtMingcheng").Text End If Tables("窗口产品销售_tblChanpin").Filter = “” tbl.Loadtop = 1000 \'假定每页1000行 tbl.Loadpage = 0 tbl.Load() 还是不行,这个方式连任何页都查不了,什么都查不了 |
-- 作者:狐狸爸爸 -- 发布时间:2013/11/20 12:49:00 -- 用简单例子说话 |
-- 作者:有点甜 -- 发布时间:2013/11/20 20:29:00 -- 试试这样 Dim txt As String = e.Form.Controls("txtMingcheng").Text Dim tbl As DataTable = Tables("窗口产品销售_tblChanpin").DataTable If txt = "" Then tbl.LoadFilter = "" Else txt = "\'%" & txt & "%\'" tbl.LoadFilter = "product_name Like " & txt End If Tables("窗口产品销售_tblChanpin").Filter = "" tbl.Loadtop = 1000 \'假定每页1000行 tbl.Loadpage = 0 tbl.Load() |