Foxtable(狐表)用户栏目专家坐堂 → [求助]查询


  共有1638人关注过本帖平板打印复制链接

主题:[求助]查询

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


加好友 发短信
等级:三尾狐 帖子:636 积分:4062 威望:0 精华:0 注册:2016/10/19 16:45:00
[求助]查询  发帖心情 Post By:2017/5/25 13:54:00 [只看该作者]

老师好,下面是窗口模糊查询的内部函数,我有一个表有28万条行在查询的时候很慢。我想通过修改代码进行提速,可以吗?


'生成可见的列名称  窗口模糊查询
Dim Cols,Vals As New List(of String)
Dim flt As String = "1=1"
For Each c As Col In Args(0).Cols
    If c.Visible = True
        cols.add(c.name)
    End If
Next
'生成查询条件
Vals.AddRange(Args(1).Replace("'","''").Replace("*","[*]").Split(","))  '查询值列表并保证其有效
Dim i As Integer = 0
For Each Val As String In Vals
    
    Dim temp As String = ""
    For Each c As String In Cols
        temp = temp & " Convert(" & c & ",'System.String') like '%" & Val & "%' Or"
    Next
    flt = flt & " and ("& temp.SubString(0, temp.length-3) & ")"
Next
Return flt

 回到顶部