Foxtable(狐表)用户栏目专家坐堂 → sqlselect 的 in (xxx,xxxx)语句有无模糊查找的办法?


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

主题:sqlselect 的 in (xxx,xxxx)语句有无模糊查找的办法?

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
sqlselect 的 in (xxx,xxxx)语句有无模糊查找的办法?  发帖心情 Post By:2023/12/21 9:39:00 [只看该作者]

 如下一个只有1列的表:
abc-01
abc-02
bcd-01
bcd-02
efg-01

现在用户选中了abc和bcd两个产品系列。得到字符串 ‘abc’,‘bcd’

有没有什么办法简单实现:
datatables(xxx).sqlselect(xxxx,xxxx in ( ‘abc’,‘bcd’) )。 从而得下面到4行?IN 和 Like有模糊查找的办法吗?
abc-01
abc-02
bcd-01
bcd-02



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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2023/12/21 9:41:00 [只看该作者]

 我想到的就历遍字符串,然后用sqlslect 的like判断。然后逐一添加到一个新的list(of datarow)里面。想问的就是有没有简单写法?

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


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/21 9:47:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0688.htm,看like的用法

datatables(xxx).sqlselect("第一列 like ‘abc%’ or 第一列 like  ‘bcd%’" )

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2023/12/21 10:10:00 [只看该作者]

Dim namelist As String = e.Form.Controls("CheckedComboBox1").Value
Dim namlist() As String
namlist = namelist.Split(",")
Dim cc As String
For Each aa As String In namlist
    cc &= "产品 like '%" & aa & "%' or "
Next
cc = cc.trim(" ", "r", "o")

Dim combolis As String = DataTables(”数据").SQLGetComboListString("产品", cc)

这样应该可以
[此贴子已经被作者于2023/12/21 10:10:21编辑过]

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


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

Dim namelist As String = e.Form.Controls("CheckedComboBox1").Value
Dim cc As String = "产品 like '%" & namelist .Replace(",", "%' or 产品 like '%") & "%'"
msgbox(cc )
Dim combolis As String = DataTables(”数据").SQLGetComboListString("产品", cc )

 回到顶部