select top (@index) eid from tbevaluate
我在本地行运正常
联接服务器数据库报"("附近有语法错误,请教是哪出问题了?

解决方案 »

  1.   

    联接服务器数据库?
    ------------联接服务器数据库 上 是SQL2000時 不支持這個的語法
     
    可用
    DECLARE @i INT
    SET @i=3
    EXEC('select top '+@i+' * from  sysobjects')
      

  2.   

    我怎么记得TOP后面不能跟变量的。
    其实可以使用ROWCOUNT。
    DECLARE @INDEX INT
    SET @INDEX=100
    SET ROWCOUNT @INDEX
    SELECT * FROM TBEVALUATE等同于SELECT TOP 100 * FROM TBEVALUATE
    SET ROWCOUNT 0    --最后一定要用这句话取消ROWCOUNT
    仅供参考
      

  3.   

    应该是你本地的数据库版本为2005或以上
    服务器的是2000, 2000下不支持 top()的