Foxtable(狐表)用户栏目专家坐堂 → 根据输入的内容自动查询表中的数据,数据量大怎么处理


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

主题:根据输入的内容自动查询表中的数据,数据量大怎么处理

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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
根据输入的内容自动查询表中的数据,数据量大怎么处理  发帖心情 Post By:2013/11/20 10:52:00 [只看该作者]

Dim txt As String = e.Form.Controls("txtMingcheng").Text
Dim tbl As Table = Tables("窗口产品销售_tblChanpin")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'*" & txt & "*'"
    tbl.Filter = "product_name Like " & txt

End If

 

如果 Tables("窗口产品销售_tblChanpin")有几十万或者百万级别,需要吧数据全部调出来才能处理,怎么实现不全部调出来数据,但是又不影响使用功能

 

 

 

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/20 11:06:00 [只看该作者]

呵呵,这种你别想了. 不可能不影响的.  10年后的电脑和网络带宽也许有这样的性能吧!

采用分页加载的形式吧,你看我们论坛不也是分页加载么,不可能把几十万的帖子全部加载出来的,先不说性能问题,单单是浏览查看都不方便.


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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/11/20 11:11:00 [只看该作者]

bin,如果分页加载他也只是模糊查询的那个分页页面的数据,也不是全部的数据呀

 

除非不用表的tbl.Filter方式,而改成SQL的查询方式,只能TEXT输入完毕查询,而无法做到感应查询

[此贴子已经被作者于2013-11-20 11:16:33编辑过]

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


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

以下是引用wuxianzuoji41在2013-11-20 10:52:00的发言:

Dim txt As String = e.Form.Controls("txtMingcheng").Text
Dim tbl As Table = Tables("窗口产品销售_tblChanpin")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'*" & txt & "*'"
    tbl.Filter = "product_name Like " & txt

End If

 

如果 Tables("窗口产品销售_tblChanpin")有几十万或者百万级别,需要吧数据全部调出来才能处理,怎么实现不全部调出来数据,但是又不影响使用功能

 

 

 

 

不可能出现在几百万条信息里筛选。

 

给个思路,选按条件少量加载,再筛选。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
Dim tbl As DataTable = Tables("窗口产品销售_tblChanpin").DataTable
If txt = "" Then
     tbl.LoadFilter = ""
Else
    txt = "'*" & txt & "*'"
    tbl.LoadFilter = "product_name Like " & txt

End If

tbl.Loadtop = 1000  '假定每页1000行

tbl.Loadpage = 0

tbl.Load()


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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/11/20 12:20:00 [只看该作者]

以下是引用狐狸爸爸在2013-11-20 11:49:00的发言:

 

1、设置好分页加载。

 

2、代码改为:

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

tbl.Loadtop = 1000  '假定每页1000行

tbl.Loadpage = 0

tbl.Load()

狐狸爸爸不行呀,还是检索的是当前分页的数据,

 你说的是每1000行分1页吗

 

[此贴子已经被作者于2013-11-20 12:20:17编辑过]

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


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

1000行一页:

 

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()


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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/11/20 12:49:00 [只看该作者]

以下是引用狐狸爸爸在2013-11-20 12:32:00的发言:

1000行一页:

 

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()

还是不行,这个方式连任何页都查不了,什么都查不了


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


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

用简单例子说话


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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()

 回到顶部
总数 18 1 2 下一页