以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sqlselect 的 in (xxx,xxxx)语句有无模糊查找的办法? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189726) |
-- 作者:lur320 -- 发布时间:2023/12/21 9:39:00 -- sqlselect 的 in (xxx,xxxx)语句有无模糊查找的办法? 如下一个只有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 -- 发布时间:2023/12/21 9:41:00 -- 我想到的就历遍字符串,然后用sqlslect 的like判断。然后逐一添加到一个新的list(of datarow)里面。想问的就是有没有简单写法? |
-- 作者:有点蓝 -- 发布时间:2023/12/21 9:47:00 -- http://www.foxtable.com/webhelp/topics/0688.htm,看like的用法 datatables(xxx).sqlselect("第一列 like ‘abc%’ or 第一列 like ‘bcd%’" )
|
-- 作者:lur320 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间: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 )
|