以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  cmd.CommandText条件为数组时in-join出现错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172281)

--  作者:tld
--  发布时间:2021/10/5 23:31:00
--  cmd.CommandText条件为数组时in-join出现错误
老师好,执行下面的语句时,提示 in 附近有语法错误。请老师指点下,应如何写?谢谢!
语句中,arys 是委托编号数组
cmd.CommandText = "S elect * from 流水 where 委托编号  in "  & String.Join("\',\'",arys) 

如果代码改为:
dim dt as datatable
cmd.CommandText = "Se lect * from 流水 where 委托编号 In (\'" & String.Join("\',\'",arys) & "\')"
dt = cmd.ExecuteReader()
dt 的行数为0(事实上不应该为零),结果也是错误

[此贴子已经被作者于2021/10/6 8:46:29编辑过]

--  作者:z769036165
--  发布时间:2021/10/6 10:31:00
--  
后面的是正确的啊?检查看下有没有数组的内容和表名与列名的内容不符?
--  作者:有点蓝
--  发布时间:2021/10/7 9:25:00
--  
output.show("Select * from 流水 where 委托编号 In (\'" & String.Join("\',\'",arys) & "\')")

查看生成的sql,放到数据库执行有没有问题?