gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:24:41 24 4
gpt4 key购买 nike

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

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

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

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

简而言之,
如果我对一串值进行硬编码,它就可以工作,
如果我只传递一个只有单值的变量,它就可以工作,
但是如果我传递一个带有两个值的变量;它失败了。

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

BR
SDIGI

最佳答案

这有效。虽然不确定它的效率如何。

CREATE PROCEDURE [dbo].[get_bars_in_foo]
@bars varchar(255)
AS
BEGIN
DECLARE @query AS varchar(MAX)
SET @query = 'SELECT * FROM [foo] WHERE bar IN (' + @bars + ')'
exec(@query)
END

-- exec [get_bars_in_foo] '1,2,3,4'

关于SQL "SELECT IN (Value1, Value2...)"将值变量传递到 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/342655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com