日期:2014-05-17  浏览次数:20486 次

语法错误,求检查(急)
运行跳出这个问题:
处理报表时出错。 (rsProcessingAborted)
对数据集“DS_COMPANY2”执行查询失败。 (rsErrorExecutingCommand)
')' 附近有语法错误。 
可是我用查询设计器运行的时候没有问题啊,求解决,急~~以下是数据集“DS_COMPANY2”的查询语句
SELECT cp_id ,
   cp_name
FROM TBCompany
WHERE CP_ID IN (@CP_NAME) --需要修改user默认帐号
我是在找不到语法错误了
数据集“CP_NAME”的查询语句:
SELECT F.CP_NAME
FROM LOG_POWER F
WHERE F.CP_ID IN (
     select T.LG_COMPANY 
                     from TBLOGIN T
     WHERE T.LG_NAME IN (@USERID2)
                   AND T.LG_STATE = 0
 )

------解决方案--------------------
@CP_NAME,@USERID2 是怎么赋值的?
------解决方案--------------------
这个你仔细调试你那两个变量的赋值过程,这别人一下看不出来的

------解决方案--------------------
引用:
Quote: 引用:

@CP_NAME,@USERID2 是怎么赋值的?


CP_NAME:CP_NAME
SELECT F.CP_NAME
FROM LOG_POWER F
WHERE F.CP_ID IN (
     select T.LG_COMPANY 
                     from TBLOGIN T
     WHERE T.LG_NAME IN (@USERID2)
                   AND T.LG_STATE = 0
 )

DS_USER2:USER_NAME
SELECT  USER_ID,                                  --用户代号
        USER_NAME                                 --用户名
FROM    VSSRSITEM                       
WHERE USER_ID = :USERID

没看明白
------解决方案--------------------
CP_ID IN (@CP_NAME) ??

IN不能用于变量吧


CP_ID IN (@CP_NAME,@CP_NAME2,@CP_NAME3...) ?