如下一个只有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
我想到的就历遍字符串,然后用sqlslect 的like判断。然后逐一添加到一个新的list(of datarow)里面。想问的就是有没有简单写法?
http://www.foxtable.com/webhelp/topics/0688.htm,看like的用法
datatables(xxx).sqlselect("第一列 like ‘abc%’ or 第一列 like ‘bcd%’" )
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编辑过]
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 )