以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]查询加载代码优化 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38081)
|
-- 作者:puyouliang
-- 发布时间:2013/7/19 10:23:00
-- [求助]查询加载代码优化
With DataTables("商品") Dim xiangz As RibbonMenu.TextBox = RibbonTabs("主信息").Groups("查询").Items("乡镇") Dim cunm As RibbonMenu.TextBox = RibbonTabs("主信息").Groups("查询").Items("村") Dim xingm As RibbonMenu.TextBox = RibbonTabs("主信息").Groups("查询").Items("姓名") Dim xiaob As RibbonMenu.TextBox = RibbonTabs("主信息").Groups("查询").Items("货号") If xiaob.text <> "" Then Dim cmd As New SQLCommand cmd.C cmd.CommandText ="Select Count(*) From {商品} Where [SYQQLR] Like \'%" & xiangz.text & cunm.text & "%\' and [DANWEI] Like \'%" & xingm.text & "\' and [XIAOBAN] = \'" & xiaob.text & "\'" If cmd.ExecuteScalar > 0 Then DataTables("商品").LoadFilter = "[SYQQLR] Like \'%" & xiangz.text & cunm.text & "%\' and [DANWEI] Like \'%" & xingm.text & "\' and [XIAOBAN] = \'" & xiaob.text & "\'" DataTables("商品").Load Else MessageBox.Show("数据不存在") End If Else Dim cmd As New SQLCommand cmd.C cmd.CommandText ="Select Count(*) From {商品} Where [SYQQLR] Like \'%" & xiangz.text & cunm.text & "%\' and [DANWEI] Like \'%" & xingm.text & "\'" If cmd.ExecuteScalar > 0 Then DataTables("商品").LoadFilter = "[SYQQLR] Like \'%" & xiangz.text & cunm.text & "%\' and [DANWEI] Like \'%" & xingm.text & "\'" DataTables("商品").Load Else MessageBox.Show("数据不存在") End If End If End With
这段代码执行后经常报超时,多查几次又能查出来,但是要很长时间,求大能给我优化下
|
-- 作者:Bin
-- 发布时间:2013/7/19 10:27:00
--
你数据量有多大?
cmd.CommandText ="Select Count(*) From {商品} Where [SYQQLR] Like \'%" & xiangz.text & cunm.text & "%\' and [DANWEI] Like \'%" & xingm.text & "\' and [XIAOBAN] = \'" & xiaob.text & "\'"
这段完全没有必要.既然你LoadFilter条件和这个一样你.你直接加载.再判断加载出来的数据是否0条.是的话就弹出提示即可
|
-- 作者:puyouliang
-- 发布时间:2013/7/19 11:20:00
--
数据量超过35万条
|
-- 作者:Bin
-- 发布时间:2013/7/19 11:24:00
--
你加载的数据是多少条.用的什么数据源? SQL还是ACCESS
|
-- 作者:Bin
-- 发布时间:2013/7/19 11:27:00
--
为数据表需要查询的列做下索引,应该会有很大的提升
|
-- 作者:puyouliang
-- 发布时间:2013/7/19 12:08:00
--
是SQL的数据库,查找加载的数据从几条到几千不等,怎么做索引
|
-- 作者:Bin
-- 发布时间:2013/7/19 12:10:00
--
右键添加索引, 具体可以百度一下有教程.
|