SQL语句

董鲜森 学生  2015-07-13 06:58:19
sql = "select top "+ ps+ " * from t_book where orderBy not in (select top "+ps*(pc-1)+" orderBy from t_book order by orderBy) "+whereSql+" order by orderBy";

其中ps是每页的记录数,pc是当前页码
运行时显示where附近有语法错误
求解答?
...全文
85 1 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
aidaixinyou 2015-07-14
把传的where 1=1 换成 and 1=1
回复
aidaixinyou 2015-07-14
第二个where应该写在第二个查询的括号内吧?你这么写是不是给你算到第一个查询语句里了
回复
许晨旭 2015-07-14
把你的SQL语句拆分出来就是这样,是传进去的whereSql有问题 应该是 "and 1=1 and"
select top @ps *
from t_book 
where orderBy not in (select top @ps*(@pc-1) orderBy from t_book order by orderBy) 
@whereSql 
order by orderBy
回复
wtujedp 2015-07-14
跟踪调试一下,看一下,最终的SQL变量里存的SQL语句是怎么样的。另外像whereSql这样的变量前后都加个空格 例whereSql=“ where 1=1 and ”
回复
董鲜森 2015-07-13
'ps' 附近有语法错误。 Query: select top ps * from t_book where orderBy not in (select top ps*(pc-1) orderBy from t_book order by orderBy) where 1=1 and cid = ? order by orderBy Parameters: [18]
回复
习惯性蹭分 2015-07-13
可以先把拼接的语句print出来,检查下就知道哪里有问题了。
回复
道玄希言 2015-07-13
你还是放出最终执行时的语句吧 这语句看不出什么的。
回复
董鲜森 2015-07-13
其中whereSql是where 1=1 and id=?
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-07-13 06:58
社区公告
暂无公告