【发布时间】:2012-05-18 06:27:57
【问题描述】:
我正在尝试为我的学期考试构建一个调度程序应用程序,并且我正在查询数据库,如果老师在某周、某天和某个小时有课。有没有办法使用 DBExpress 处理 Delphi Xe2 中的 Sql 错误代码?我有一个查询在 SQL Server2008 上执行我的询问(我让用户选择参数),这就是问题所在;如果用户让一个参数字段为空,我的应用程序会在图像中显示消息;好吧,这不是一种显示错误消息的用户友好方式,所以我尝试处理异常但没有任何成功:这是我为查询 SQL Server 而编写的代码:
with DataModule1.QueryV1 do
Try
Close;
SQL.Clear; // clear command sql if there is
SQL.Add ('SELECT * FROM OrarC WHERE IDZi =' +
QuotedStr(LlbZiua.KeyValue)+ 'and IDInterval=' + QuotedStr(LlbIntOrar.KeyValue) +
'and IDSala='+ QuotedStr(EdtIDSala.Text)+ EdtSaptamana.Text);
Open;
except
on E:TDBXError do begin
showmessage('Error!');
end;
End;
关于 E:TDBXError 我也尝试过 E:EDataBaseError,结果是一样的;最好通过返回的 SqlErrorCode 来处理错误,但我不知道如何得到它。
【问题讨论】:
-
最好在查询中使用参数而不是文字字符串。也许您的一个字符串的值与您的预期不同。上面消息中的错误文本是什么?图片太小,我看不懂文字。
标签: delphi error-handling delphi-xe2 dbexpress