ストアドプロシジャのエラーを検出する (ADO)
Delphiの ADO Express を使ってストアドプロシジャを実行し、エラーが発生したかどうかを確認する方法です。ADOでストアドプロシジャを使うと、ストアド内でエラーが起きても Delphi 側で例外が発生しません。ですのでプログラムでエラーがあったかどうかを ADOConnection の Errors を使ってチェックする必要があります。
| ■ エラー検出の例 |
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
//ストアドプロシジャのパラメータ設定
ADOStoredProc1.Parameters.ParamByName('@IN年月').Value := 200309;
//ストアドプロシジャの実行
ADOStoredProc1.ExecProc;
if (ADOConnection1.Errors.Count > 0) then begin
//エラーがあった場合はエラー内容をMemoに書き出す
for i := 0 to ADOConnection1.Errors.Count - 1 do begin
Memo1.Lines.Add(IntToStr(i));
Memo1.Lines.Add(ADOConnection1.Errors[i].Source);
Memo1.Lines.Add(ADOConnection1.Errors[i].Description);
Memo1.Lines.Add(ADOConnection1.Errors[i].SQLState);
end;
end;
end;
|