我有一个连接到 TDataSetProvider 的 TClientDataSet,而 TDataSetProvider 又连接到 TAdsQuery。我设置了 SQL 命令,然后像这样打开 ClientDataset:
try
CDS.CommandText := 'SELECT * FROM tablename WHERE fieldname = 1';
CDS.Open
except
// trap exception here - this never gets executed!
end;
但是,如果 CommandText 中的 SQL 语句失败(语法错误或其他),我会在 Advantage 代码中得到一个异常,但它永远不会在我自己的异常处理代码中被捕获。
我有什么办法可以捕获此错误并将其很好地报告给用户。或者,有没有办法在执行 SQL 查询之前验证它的语法?
我正在使用 Delphi Pro 2009 和 Advantage Local Server 9。