Foxtable(狐表)用户栏目专家坐堂 → [求助]sql后台多条件查询问题


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

主题:[求助]sql后台多条件查询问题

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


加好友 发短信
等级:四尾狐 帖子:873 积分:6052 威望:0 精华:0 注册:2014/5/20 17:56:00
[求助]sql后台多条件查询问题  发帖心情 Post By:2025/2/3 21:30:00 [只看该作者]

我用的多条件查询代码一直用的都是参照帮助里面的查询代码,但是会存在个问题,就是特别容易出现查询超时的情况,因此希望改成直接后台查询。但是上网查了一下,使用sql进行多条件查询,涉及到动态拼接等情况,看的我云里雾里的,也没有看懂,因此,希望各位大佬给看一下,如何将下面的查询改成直接后台查询的情况(数据库为sql server2008)。
Dim Filter As String
With e.Form.Controls("SFLB")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "收发类别 like '%" & .Value & "%'"
    End If
End With

With e.Form.Controls("HT")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "提货单号 like '%" & .Value & "%'"
    End If
End With

With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "过磅日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "过磅日期 <= '" & .Value & "'"
    End If
End With

if Filter > "" Then
    DataTables("收货登记明细表").LoadFilter = Filter
    DataTables("收货登记明细表").Load
End If

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/4 9:51:00 [只看该作者]

上面的代码就已经是后台查询了呀。测试有什么问题?

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


加好友 发短信
等级:四尾狐 帖子:873 积分:6052 威望:0 精华:0 注册:2014/5/20 17:56:00
  发帖心情 Post By:2025/2/4 10:53:00 [只看该作者]

就是特别容易出现查询超时的情况。

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


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/4 11:10:00 [只看该作者]

那是数据库优化的问题。把条件里的列都添加到索引里

 回到顶部