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

')' 附近有语法错误
先请大神看下,下面语句是不是正确的
int number = Convert.ToInt32(TextBox1.Text);
int pages = 5 * (number - 1);
string sql1 = "select top 5 * from(select * from(select row_number()over (order by name) rownumber from info where rownumber>" + pages + "))";//输出指定页number以后的数据,按每页5条数据显示
如果正确为什么放在SQL里测试总是出现“)”错误,重新用英文状态写了一遍还是这样,求大神解决。
不正确,请帮忙完善下,谢谢

------解决方案--------------------
该加上空格的加上空格。确认括号是半角的。
------解决方案--------------------
现在的t-sql我不知道,至少以前,你的from后边的字查询是必须有别名的,类似于
    select * from (......) as t
这里的t必须有。
------解决方案--------------------
rownumber 只是个别名, 只有as ... 后, 成为一个表的列后,才可引用:

select top 3 * 
from (
select ROW_NUMBER() over(order by AccountId) NO 
from Account
     ) as Tmp
where NO > 2