回 帖 发 新 帖 刷新版面

主题:我在adoquery中写入查询语句,编译却不能通过

sql.Clear;
         sql.Add('declare @tablename varchar(20)  declare @field varchar(20) declare @str varchar(600) ');
         sql.Add('set @tablename=''''basicInfo'''' set @field=''''zy'''' set @str=''''select distinct ''''+@field+'''' from ''''+@tablename+''' ');
         sql.add('exec(@str) '); 
我在adoquery中写入查询语句,编译却不能通过,
Build
  [Error] FunctionBase.pas(52): Missing operator or semicolon
  [Error] FunctionBase.pas(52): ')' expected but identifier 'exec' found
  [Error] FunctionBase.pas(52): Unterminated string
  [Error] FunctionBase.pas(53): Missing operator or semicolon
  [Error] FunctionBase.pas(57): Variable required
  [Fatal Error] Student_info2.dpr(10): Could not compile used unit 'FunctionBase.pas'
大家帮我找一下啊,谢谢 

这个语句的目的是 查询 返回 某表中某列的值

回复列表 (共2个回复)

沙发

你可以用procedure 来实现。(输出一个参数值)

板凳

还是用存储过程吧

ADOStoredProc
只要把变量给他过去就行

我来回复

您尚未登录,请登录后再回复。点此登录或注册