Foxtable(狐表)用户栏目专家坐堂 → like多值模糊查询


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

主题:like多值模糊查询

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
like多值模糊查询  发帖心情 Post By:2020/4/15 17:10:00 [只看该作者]



If e.DataCol.Name = "发送对象" Then
    Dim dr As DataRow
    dr = DataTables("干警信息").SQLFind("身份属性 like '%" & e.DataRow("发送对象") & "%' ")
    
    MessageBox.Show(("身份属性 like '%" & e.DataRow("发送对象") & "%' "))
    If dr Is Nothing Then
        MessageBox.Show("当前发送对象,没有对应身份属性的人员姓名,不生成内容告知表!请核查!","提醒")
    End If
End If

当发送对象选择代表  委员多值后
"身份属性 like '%" & e.DataRow("发送对象") & "%' "
弹出的值是   身份属性 like ‘%代表,委员%’

但是人员信息表中身份属性值是人大代表或政协委员。
上述代码是不是写错了

想实现当发送对象选择值中含有代表或委员字样的 就对应在人员信息表中去把符合的数据全部找出来

实现类似模糊查询
[此贴子已经被作者于2020/4/15 17:13:01编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110560 积分:562690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/15 17:28:00 [只看该作者]

dim s as string = "1=2 "
for each s1 as string in e.DataRow("发送对象").split(",")
s = s & " or 身份属性 like ‘%" & s1 "%' "
next
msgbox(s)
dr = DataTables("干警信息").SQLFind(s)

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)dim s as string = "1=2 "for each s...  发帖心情 Post By:2020/4/16 11:25:00 [只看该作者]

如果我还需要加一个条件  就是所在单位  下面的写法貌似不对  提示错误
DataTables("干警信息").SQLFind(s And "所在单位= '" & _usergroup & "' ")

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

DataTables("干警信息").SQLFind("(" & s & ") And 所在单位= '" & _usergroup & "' ")

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)DataTables("干警信息").SQLFind("("...  发帖心情 Post By:2020/4/16 14:36:00 [只看该作者]

谢谢有点蓝老师   
如果我进一步采用sql语句的写法  代码运行后提示
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:加载[干警信息]失败!
详细错误信息:
' ' 附近有语法错误。
字符串 ' ' 后的引号不完整。

代码如下:
Dim cmb As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.View = ViewMode.SmallIcon
lvw.CheckBoxes = True
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear()

Dim s As String = "1=2 "
For Each s1 As String In cmb.text.split(",")
    s = s & " or 身份属性 like '%" & s1 & "%' "
Next
msgbox(s)

Dim sql As String
sql = "Sele ct * From {干警信息} where 所在单位='"& _UserGroup & " And " & s & ""
'MessageBox.Show(sql)
'MessageBox.Show(_UserGroup)
DataTables("干警信息").SQ LLoad(sql)

For Each dr As DataRow In DataTables("干警信息").DataRows '从数据表中提取数据
    Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    r.Text = dr("姓名") '指定行的标题
    r.Name  = r.Text '将行的名称设置为标题,也就是国家
Next
lvw.ResumeRedraw() '恢复绘制


如果红色部分更改为
DataTables("干警信息").SQLLoad("(" & s & ") And 所在单位= '" & _usergroup & "' ")
运行会提示出错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:加载[干警信息]失败!
详细错误信息:
'1' 附近有语法错误。
[此贴子已经被作者于2020/4/16 14:40:55编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110560 积分:562690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/16 15:50:00 [只看该作者]

msgbox(s)弹出什么内容?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)msgbox(s)弹出什么内容?  发帖心情 Post By:2020/4/16 16:00:00 [只看该作者]

如图 

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看


运行会提示出错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:加载[干警信息]失败!
详细错误信息:
'1' 附近有语法错误。
[此贴子已经被作者于2020/4/16 16:00:20编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

sqlload要写完整的sql:http://www.foxtable.com/webhelp/topics/2721.htm,不经常用都忘了

或者
DataTables("干警信息").Loadfilter = "(" & s & ") And 所在单位= '" & _usergroup & "' "
DataTables("干警信息").Load

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)sqlload要写完整的sql:http://www.f...  发帖心情 Post By:2020/4/16 16:59:00 [只看该作者]

有点蓝 老师  是这样么?这样写 错误提示  和楼上一样     

Dim s As String = "1=2 "
For Each s1 As String In cmb.text.split(",")
    s = s & " or 身份属性 like '%" & s1 & "%' "
Next
'msgbox(s)
Dim sql As String
sql = "Sel ect * From {干警信息} where 所在单位='"& _UserGroup & "'"
sql= sql & s
DataTables("干警信息").SQL Load(sql)
[此贴子已经被作者于2020/4/16 17:02:40编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110560 积分:562690 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/16 17:13:00 [只看该作者]

sql = "Select * From {干警信息} where (" & s & ") And 所在单位= '" & _usergroup & "' "
DataTables("干警信息").SQL Load(sql)

 回到顶部