select Top n * from talbename 中n 不能是个变量,怎么办?(急)(20分)

  • 主题发起人 主题发起人 dingfuhai
  • 开始时间 开始时间
D

dingfuhai

Unregistered / Unconfirmed
GUEST, unregistred user!
declare @a int
set @a=10
select Top @a * from tablename
为什么会有错误,提示第三行@a处,有什么办法可以解决?
 
delphi中有个format()函数,sql server中我记得有类似的函数的,查一下
 
你连接的应该是access之类的桌面数据库。
如果连接sql server之类大型数据库就不存在这个问题。
可以动太生成:
sql:='select top ' + inttostr(a) + ' * from tablename';
这样就OK了。
 
sqlserver也不行吧
 
ADOQuery.SQL.Add('select Top '+QuotedStr(IntToStr(n))+' * from talbename ")[:D][8D]
就可以了
 
在sqlserver可以

declare @a int
declare @sql varchar(255)
set @a=10
@sql := 'select Top '+ conver(varchar(50),@a) + ' * from tablename '
exec(@sql)
 
ADOQuery1.SQL.Add('select Top '+inttostr(n)+' * from employee');
这样好像更好
 
接受答案了.
 
后退
顶部