SQL“SELECT IN (Value1, Value2...)”将值变量传递到 GridView

5 sql select gridview session-variables

我在使用 . 创建 GridView 时遇到了奇怪的遭遇SELECT..WHERE..<field> IN (value1, val2...)

在“配置数据源”选项卡中,如果我对值进行硬编码SELECT .... WHERE field1 in ('AAA', 'BBB', 'CCC'),则系统运行良好。

但是,如果我定义一个新参数并使用变量传递一个串联的值字符串;无论是 @session、Control 还是查询字符串;例如,SELECT .... WHERE field1 in @SESSION结果始终为空。

我又做了一个实验,将参数内容减少到只有一个值,效果很好。

简而言之,如果我硬编码一串值,它可以工作,如果我仅传递一个具有单个值的变量,它可以工作,但如果我传递一个具有两个值的变量;它失败了。

如果我犯了任何错误或者这是一个已知的错误,请告知。

BR SDIGI

And*_*ngs 1

看看这个问题的答案(和你的很相似)

参数化 SQL IN 子句

最终(通过复杂的路线)链接到这个明确的答案:

http://www.sommarskog.se/arrays-in-sql.html