当前位置:编程学习 > C#/ASP.NET >>

语法错误,求检查(急)

运行跳出这个问题:
处理报表时出错。 (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 是怎么赋值的? --------------------编程问答--------------------
引用 1 楼 mmm306306 的回复:
@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 --------------------编程问答-------------------- 这个你仔细调试你那两个变量的赋值过程,这别人一下看不出来的
--------------------编程问答--------------------
引用 2 楼 s459082427 的回复:
Quote: 引用 1 楼 mmm306306 的回复:

@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...) ?

否则
CP_NAME ="1,2,3"
"CP_ID IN ("+ CP_NAME +")" ?

补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,