我有以下问题。
ZQuery1.SQL.Text:=
' SELECT '+
' IF(q.rank2 = 1, @rank:= 1, @rank:= @rank + 1) AS rank '+
' ,q.* FROM ( '+
' SELECT groep.id - MinGroepId(groep.id) AS rank2 '+
' ,groep.otherfields '+
' FROM groep '+
' ORDER BY rank2 ) q; ';
ZQuery.Open;
运行此代码时,在zquery1中会出现异常
Incorrect token followed by ":"
。我该怎么解决?我需要使用delphi,因为我不能将这个select放在mysql过程中。
zeos 6不支持返回resultset的mysql过程。
附笔。
我正在使用Delphi2007和MySQL5.1以及Zeos6.6.6。
尽管我很确定版本不重要。
我不愿意转换版本,因为我对这个项目太投入了。
最佳答案
这无法完成,只能参数化该值。
最好的方法是sql.text:=stringreplace(),但是会失去准备查询的速度。