FireDAC.Comp.Client.TFDCustomConnection.Messages

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property Messages: EFDDBEngineException read GetMessages;

C++

__property Firedac::Stan::Error::EFDDBEngineException* Messages = {read=GetMessages};

プロパティ

種類 可視性 ソース ユニット
property public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDCustomConnection

説明

直近のデータベース操作の後に DBMS によって返されるメッセージのリストを返します。


Messages プロパティを読み取ると、直近の DBMS 呼び出し後に DBMS によって返されるメッセージ、ヒント、警告のリストを取得することができます。このプロパティは、EFDDBEngineException 型です。内容の定義は、DBMS の種類によって異なります。

DBMS

説明

Advantage Database Server

なし

Microsoft Access データベース

なし

DataSnap サーバー

なし

IBM DB2

なし

InterBase

なし

Firebird

なし

MySQL サーバー

SHOW WARNINGS コマンドの出力

Oracle サーバー

DBMS_OUTPUT パッケージによって生成された出力

PostgreSQL

通知と警告メッセージ

SQLite

なし

Sybase SQL Anywhere

  • ODBC 警告
  • MESSAGE コマンドの出力

Microsoft SQL Server

  • ODBC 警告
  • 重大度 <= 16 の RAISERROR から返されたメッセージ(たとえば、EXEC sp_configure 呼び出しなど)

サポートされているすべての DBMS が非エラー メッセージを自動的に返すわけではありません。たとえば、Oracle と MySQL の場合、FireDAC では、追加の DBMS API を呼び出してメッセージをクライアントに配信する必要があります。それには、追加のサーバー ラウンドトリップが必要になります。しかし、SQL Server や Sybase SQL Anywhere の場合、メッセージは常に自動的に返されます。ResourceOptions.ServerOutputTrue に設定すると、どのような DBMS でもメッセージがクライアントに自動的に返されることが保証されます。メッセージは、次の DBMS 呼び出し(Open、ExecSQL、StartTransaction など)まで、メッセージ リストに格納されます。

 var
   i: Integer;
 begin
   FDConnection1.ResourceOptions.ServerOutput := True;
   FDQuery1.ExecSQL;
   for i := 0 to FDConnection1.ConnectionIntf.Messages.ErrorCount - 1 do
     Memo1.Lines.Add(FDConnection1.ConnectionIntf.Messages[i].Message);
 end;

関連項目