以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何找出某列字符串包含于集合中item的行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174137)

--  作者:tld
--  发布时间:2022/1/4 9:23:00
--  如何找出某列字符串包含于集合中item的行

老师好。下面的语句,找出【岗位名称】列中等于 list_sjgw 中的item的行。其中,岗位名称、集合List_sjgw 均为字符型。
Dim filter As String =  "[岗位名称] In (\'" & String.Join("\',\'",List_sjgw) & "\')"

希望找出这些行:【岗位名称】列中, list_sjgw 中的item字符串包含岗位名称列的字符串的行,
比如,某行的岗位名称是“AA”,List_sjgw中的某个item 是 “AABBCC”,该行也被找到。

如何实现?谢谢老师!

--  作者:有点蓝
--  发布时间:2022/1/4 9:37:00
--  
dim filter as string = "1=1"
for each s as string in List_sjgw
filter = filter & " or " & s & " like \'%\'+ [岗位名称] +\'%\'"
next
msgbox(filter)

--  作者:tld
--  发布时间:2022/1/4 10:09:00
--  
Dim dt1 As DataTable = DataTables("工作分析表")
Dim List_sjgw As new List (of String)
Dim name As String = user.Name
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText = "sele ct [_identify],上级岗位名称,姓名,岗位名称 from 组织架构 where 姓名 = \'" & name & "\'"
Dim dt As DataTable = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    List_sjgw.add(dr("上级岗位名称"))
Next

Dim filter As String = "1=1"
For Each s As String In List_sjgw
    filter = filter & " or " & s & " like \'%\'+ [岗位名称] +\'%\'"
Next
msgbox(filter)

dt1.LoadFilter = filter
dt1.load

出现如下错误:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.12.30.1
错误所在事件:加载[工作分析表]失败!
详细错误信息:
列名 \'总经理_副总经理_检测中心总监_力学室主任\' 无效。
列名 \'总经理_副总经理_检测中心总监\' 无效。




--  作者:有点蓝
--  发布时间:2022/1/4 10:15:00
--  
filter = filter & " or \'" & s & "\' like \'%\'+ [岗位名称] +\'%\'"