WHERE IN 参数有关问题
WHERE IN 参数问题
我这样写SQL没问题:select * from Show2003 where S1 in ('600600','600112');
但是我在程序里面(我用的是VC OLEDB,其实其他程序一样的也是这个问题)SQL这样写 select * from show2003 where S1 IN (?) , 也就是用参数。 就这样我调用的时候参数怎么传都得不到结果。试过n种可能性了,都不能成功,比如 "600600","600112" | "'600600'","'600112'" | "'600600','600112'" | | 600600','600112 | "600600'","600112'"
看我试过的各种可能就知道我猜测了很多中参数处理的可能。 就是不成功。
后来我发现用VS2010连上数据库,用SQLbuilder方式建立 select * from show2003 where S1 IN (?) 这样的查询,执行的时候会弹窗让你输入参数,各种方式试了也还是不行。 如图:
所以这个已经不是程序处理的问题了,要么是不支持IN 参数列表,要么就是输入参数规则不对。
请问一下又没人试过这样的情况成功的?
注:
1. 如果 IN参数中只输入一个项没问题,如 '600600'.
2. 参数是varchar(10)的,数值型的不要试了。
------解决方案--------------------
应该是工具的缺陷,没法解决。
我这样写SQL没问题:select * from Show2003 where S1 in ('600600','600112');
但是我在程序里面(我用的是VC OLEDB,其实其他程序一样的也是这个问题)SQL这样写 select * from show2003 where S1 IN (?) , 也就是用参数。 就这样我调用的时候参数怎么传都得不到结果。试过n种可能性了,都不能成功,比如 "600600","600112" | "'600600'","'600112'" | "'600600','600112'" | | 600600','600112 | "600600'","600112'"
看我试过的各种可能就知道我猜测了很多中参数处理的可能。 就是不成功。
后来我发现用VS2010连上数据库,用SQLbuilder方式建立 select * from show2003 where S1 IN (?) 这样的查询,执行的时候会弹窗让你输入参数,各种方式试了也还是不行。 如图:
所以这个已经不是程序处理的问题了,要么是不支持IN 参数列表,要么就是输入参数规则不对。
请问一下又没人试过这样的情况成功的?
注:
1. 如果 IN参数中只输入一个项没问题,如 '600600'.
2. 参数是varchar(10)的,数值型的不要试了。
------解决方案--------------------
应该是工具的缺陷,没法解决。