【发布时间】:2018-12-12 21:14:51
【问题描述】:
在 sql-editor 中,这段代码可以正常工作:
Select *
from Journal
where status<>'D'
order by JDate,J_ID
但无法在 Delphi 中编写正确的代码。
1)
dstJournal.Close;
dstJournal.SQL.Clear;
dstJournal.SQL.CommaText:='Select * from Journal order by JDate,J_ID';
sql 错误代码=-104: Token Unknown J_ID
如果我只写 'order by JDate' 或只写 'oder by J_ID' 那么它可以工作。
2) 如果我写:
dstJournal.SQL.CommaText:='Select * from Journal where Status<>"D" ';
得到错误:sql 错误代码=-206:Column Unknown D.
我尝试了“D”,但 delphi 无法编译并显示“缺少运算符或分号”消息。
如何编写正确的delphi代码?
【问题讨论】:
-
D的每一侧是一个双引号还是两个单引号?它应该是两个单引号,表示 D 是一个值而不是列名。 -
@J... 不,这是一个 SQL 的东西。
-
@RemyLebeau ...是的,我的错。我主要在 MySQL 中工作,双引号在那里很好,至少在 ANSI_QUOTES 关闭的情况下。