Office中国论坛/Access中国论坛
标题:
为何在IN子句中只接受一个参数
[打印本页]
作者:
yodong
时间:
2004-6-10 01:11
标题:
为何在IN子句中只接受一个参数
为何在IN子句中只接受一个参数
我的存谁储过程如下:
SELECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号, 一体化编号,
电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN (@b)) AND (初检 = 0) AND (返修 = 0)
作为子窗体的据源:
Me.subform.Form.RecordSource = "exec pro在检编号变更" & s
出现如下问题:
当我的变量S的值是一个的时候:
如:'JJ040608-002' 则可以得到结果.
但当S的值是如下的的时候却没有记录,'JJ040608-002','JJ040608-003'
不知何故,我直接打开存储过程,在提示框中输入值,也没有记录.大家帮我看看错在哪里.
作者:
yodong
时间:
2004-6-10 04:38
SELECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号, 一体化编号,
电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN ('JJ040608-001', 'JJ040608-002', 'JJ040608-003')) AND (初检 = 0) AND
(返修 = 0)上面的语句是可以的,但一写成如下:SELECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号, 一体化编号,
电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN (@s)) AND (初检 = 0) AND
(返修 = 0)只能接受一个参数'JJ040608-001'好奇怪呀!!
作者:
goodidea
时间:
2004-6-10 07:31
你必须先定义一个字符串变量(@strsql),然后赋值给他,是由SELECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号, 一体化编号,
电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN (@s)) AND (初检 = 0) AND
(返修 = 0)转换成的字符串SELECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号, 一体化编号,
电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN ('JJ040608-001', 'JJ040608-002', 'JJ040608-003')) AND (初检 = 0) AND
(返修 = 0)然后用execute (@strsql)这种方式来执行。
作者:
yodong
时间:
2004-6-10 19:24
goodidea版主:我的存储过程名为:"pro在检编号变更"根据你的意思我的存储过程要怎样改呢?是不是这样
ECLARE strsql nvarchar(4000)
SET strsql = 'seLECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号,
一体化编号, 电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN (@b)) AND (初检 = 0) AND (返修 = 0)'go
execute((@strsql)但是会报错:ADO错误:'nvarchar'不是可以识别的CURSOR选项.你这个语句在VBA中还可以象以下这样调用吗?我只要是用来做为一个子窗体的数据源来用的.
Me.subform.Form.RecordSource = "exec pro在检编号变更" & s
作者:
goodidea
时间:
2004-6-11 01:53
@b这里要处理一下DECLARE strsql nvarchar(4000)
SET strsql = 'seLECT 交检单号, 交检日期, 产品型号, 产品编号, 初检, 初检日期, 一体化型号,
一体化编号, 电源盒编号, 备注
FROM dbo.[tbl交检单-编号]
WHERE (交检单号 IN (' + @b + ' )) AND (初检 = 0) AND (返修 = 0)' execute(@strsql)go传入@b时候,应该包含分隔符即=“'JJ040608-001', 'JJ040608-002', 'JJ040608-003'”
作者:
yodong
时间:
2004-6-11 02:05
谢谢
goodidea版主,
我在HG和你的的帮助下,终于调通了.但还有一些小问题:http://www.office-cn.net/bbs/dispbbs.asp?boardid=5&id=17759&star=1#17759谢谢goodidea版主
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3