首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

sql语句报错 大家看看有关问题出在哪里

2011-12-23 
sql语句报错 大家看看问题出在哪里SELECTTOP@pageSetupFROMjobsWHERE(job_idNOTIN(SELECTTOP@toPagejob_id

sql语句报错 大家看看问题出在哪里
SELECT   TOP   @pageSetup     FROM   jobs   WHERE   (job_id   NOT   IN   (SELECT   TOP   @toPage   job_id   FROM   jobs   ORDER   BY   job_id))   ORDER   BY   job_id


服务器:   消息   170,级别   15,状态   1,行   1
第   1   行:   '@pageSetup '   附近有语法错误。
服务器:   消息   170,级别   15,状态   1,行   1
第   1   行:   '@toPage '   附近有语法错误。



[解决办法]
@pageSetup,@toPage是什么东东!
好象应该是数字吧!
SELECT TOP @pageSetup * FROM jobs WHERE (job_id NOT IN (SELECT TOP @toPage job_id FROM jobs ORDER BY job_id)) ORDER BY job_id
加上一个*看看!

[解决办法]
你的ORDER BY job_id 后面的是升序还是降序要不要写呢?
比如ORDER BY job_id desc
[解决办法]
select 后面没有写查询的列名嘛.至少也得加个*呀
[解决办法]
你先把那俩变量换成数字,看错不错
[解决办法]
top后面加上一个整数
[解决办法]
SELECT TOP @pageSetup * FROM jobs WHERE job_id NOT IN (SELECT TOP @toPage job_id FROM jobs ORDER BY job_id) ORDER BY job_id

这样试试

[解决办法]
这样是不行的 需要转成字符处理.
begin
declare @sql varchar(2000)

select @sql = "SELECT TOP " + @pageSetup + " * FROM jobs WHERE (job_id NOT IN (SELECT TOP " + @toPage + " job_id FROM jobs ORDER BY job_id)) ORDER BY job_id "

exec (@sql)
end
[解决办法]
TOP要指定前几位,如前10
SELECT TOP(10) @pageSetup FROM jobs WHERE (job_id NOT IN (SELECT TOP(10) @toPage job_id FROM jobs ORDER BY job_id)) ORDER BY job_id

[解决办法]
select top 10 * form biao
[解决办法]
要写成字符串的,至于注入嘛,在传入存储之前做检测替换就行了
[解决办法]
应该是这样:
SELECT TOP @page Setup FROM jobs WHERE (job_id NOT IN (SELECT TOP @toPage job_id FROM jobs ORDER BY job_id)) ORDER BY job_id
@page和Setup之间少了个空格

[解决办法]
top 后不能跟变量
[解决办法]
应该这样写
declare @sql varchar(255)
set @sql = 'SELECT TOP ' + @pageSetup + ' FROM jobs WHERE (job_id NOT IN (SELECT TOP ' + @toPage + ' job_id FROM jobs ORDER BY job_id)) ORDER BY job_id '

exec(@sql)
[解决办法]
同意最后一个的意见,因为top要指定筛选的内容
[解决办法]
select top * from Table
[解决办法]
up
[解决办法]
晕,变量不能写在SQL语句里,
要不认不出来,

用+ " "
------解决方案--------------------


Top 后面不能直接用参数,
你可以参照 eagle008(eagle008) 写的
[解决办法]
赞同!!!!!!!
[解决办法]
o

热点排行