Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么实现多条件分页搜索


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

主题:[求助]怎么实现多条件分页搜索

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 8:42:00 [显示全部帖子]

请举例说明一下。怎么样的多条件,需要怎么样分页,最后得到什么结果
[此贴子已经被作者于2024/9/19 8:43:35编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 9:01:00 [显示全部帖子]

代码呢?!

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 9:12:00 [显示全部帖子]

使用的什么数据库?

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 9:22:00 [显示全部帖子]

把5楼图中第8行开始的代码文字发上来,不是图片

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 9:53:00 [显示全部帖子]

……
Dim sql As String = "select * from 基本信息 left join 台同信息 on 基本信息.gonghao = 合同信息.gonghao where 1=2"
……
Dim filter As String = "1=1 "
If e.Values.ContainsKey("shenfenzheng") Then
    filter = filter & " and  基本信息.shenfenzheng = '" & shenfenzheng & "'"
End If
If e.Values.ContainsKey("xingming") Then
    filter = filter & " and  基本信息.xingming like '%" & xingming & "%'"
End If

Dim limit As Integer = 10
If e.Values.ContainsKey("limit") Then
    limit = e.Values("limit")
End If
Dim page As Integer = 0
If e.Values.ContainsKey("page") Then
    page = e.Values("page")
    If page > 0 Then
        page = page - 1
    End If 
End If

cmd.CommandText = sql
Dim dt As DataTable = cmd.ExecuteReader
dt.LoadFilter = filter
dt.LoadTop = limit
dt.LoadPage = page
dt.LoadOver = "id"
dt.Load()

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 10:26:00 [显示全部帖子]

完整代码?

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 10:49:00 [显示全部帖子]

到access里创建一个查询,使用这个sql创建查询:select 基本信息.gonghao,基本信息.shenfenzheng,....把2个表用到的列名逐个全部列出来,重名的列一个即可...  from 基本信息 left join 合同信息 on 基本信息.gonghao=合同信息.gonghao

代码改为:
Dim e As RequestEventArgs = Args(0)

Dim filter As String = "1=1"
If e.Values.ContainsKey("shenfenzheng") Then
    filter = filter & " and  shenfenzheng = '" & e.Values("shenfenzheng").ToString.Trim() & "'"
End If
If e.Values.ContainsKey("xingming") Then
    filter = filter & " and  xingming like '%" & e.Values("xingming").ToString.Trim() & "%'"
End If

Dim limit As Integer = 10 
Dim page As Integer = 0
If e.Values.ContainsKey("limit") Then
    limit = e.Values("limit")
End If
If e.Values.ContainsKey("page") Then
    page = e.Values("page")
    If page > 0 Then
        page = page - 1
    End If 
End If

Dim sql As String = "select * from 某查询 where 1=2"
Dim cmd As New SQLCommand
cmd.ConnectionName = "某某数据源"
cmd.CommandText = sql
Dim dt As DataTable = cmd.ExecuteReader
dt.LoadFilter = filter
dt.LoadTop = limit
dt.LoadPage = page
dt.LoadOver = "id"
dt.Load()

 回到顶部