以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] IN 关键字,如何连接数组  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158165)

--  作者:5159518
--  发布时间:2020/11/10 10:52:00
--  [求助] IN 关键字,如何连接数组
Dim flm As String = DataTables(e.For m.Name & "_Table1").GetComboListString("人员工号")
DataTables(e.For m.Name & "_Table2").LoadFilter = "[工号] Not IN flm.Split("|")"
DataTables(e.For m.Name & "_Table2").Load()


上面的代码报错,改了几次,也没有改成功,请教应该如何改?

--  作者:有点蓝
--  发布时间:2020/11/10 10:56:00
--  
DataTables(e.For m.Name & "_Table2").LoadFilter = "[工号] Not IN (\'" & flm.replace("|","\',\'") & "\')"
--  作者:5159518
--  发布时间:2020/11/10 11:04:00
--  
以下是引用有点蓝在2020/11/10 10:56:00的发言:
DataTables(e.For m.Name & "_Table2").LoadFilter = "[工号] Not IN (\'" & flm.replace("|","\',\'") & "\')"


ok,十分感谢


--  作者:5159518
--  发布时间:2020/11/10 20:47:00
--  
老师,类似的问题,再请教一下,

我的sql数据库中有表A,其中有备注列“人员姓名”,每一行该列的内容类似为:张三|李四|王二毛|。。。。等,每个名字是用“|”分隔开的

我想在要在表中查找:“人员姓名”中包含譬如“张三”的行,用select,中“in” 关键字,应该如何写查询语句?

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "SELECT * Fro m {工作时间} where 归属月份 = \'2020年11月\' and 人员姓名.Contains(\'张三\') "
Dim dt As DataTable = cmd.ExecuteReader()

--  作者:有点蓝
--  发布时间:2020/11/10 20:53:00
--  
和上面的用法完全一样
--  作者:5159518
--  发布时间:2020/11/11 18:06:00
--  
以下是引用5159518在2020/11/10 20:47:00的发言:
老师,类似的问题,再请教一下,

我的sql数据库中有表A,其中有备注列“人员姓名”,每一行该列的内容类似为:张三|李四|王二毛|。。。。等,每个名字是用“|”分隔开的

我想在要在表中查找:“人员姓名”中包含譬如“张三”的行,用select,中“in” 关键字,应该如何写查询语句?

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "SELECT * Fro m {工作时间} where 归属月份 = \'2020年11月\' and 人员姓名.Contains(\'张三\') "
Dim dt As DataTable = cmd.ExecuteReader()


老师,可能我的表述让您误解了,按照上面的代码,表“工作时间”中的“人员姓名”列里面的内容类似为:张三|李四|王二毛|。。。。等,每个名字是用“|”分隔开的,而我要査找的的要求,就是表“工作时间”中哪一行的“人员姓名”列里面包含“张三”这个字符,当然,这一行的“人员姓名”列里面可能还包含其他字符。

这样的代码要如何写?


--  作者:有点蓝
--  发布时间:2020/11/12 8:48:00
--  
cmd.CommandText = "SELECT * From {工作时间} where 归属月份 = \'2020年11月\' and \'|\' +人员姓名 + \'|\' like \'%|张三|%\' "