学期試験用のスケジューラ アプリケーションを構築しようとしています。教師が特定の週、特定の日、特定の時間にクラスを持っているかどうかをデータベースに問い合わせています。DBExpress を使用して Delphi Xe2 で SQL エラー コードを処理する方法はありますか? SQL Server2008で質問を実行するクエリ(ユーザーにパラメーターを選択させます)があり、ここに問題があります。ユーザーが 1 つのパラメーター フィールドを空にすると、アプリケーションは画像にメッセージを表示します。これはエラー メッセージを表示するユーザー フレンドリーな方法ではないため、成功せずに例外を処理しようとしました。これは、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 でエラーを処理するのは良いことですが、それを取得する方法がわかりません。