FireDAC.Comp.Client.TFDCustomConnection.Messages
Delphi
property Messages: EFDDBEngineException read GetMessages;
C++
__property Firedac::Stan::Error::EFDDBEngineException* Messages = {read=GetMessages};
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
Beschreibung
Gibt nach einer aktuellen Datenbankoperation eine Liste mit vom DBMS zurückgegebenen Meldungen zurück.
Mit der Eigenschaft Messages rufen Sie eine Liste mit Meldungen, Hinweisen oder Warnungen ab, die von einem DBMS nach einem aktuellen DBMS-Aufruf zurückgegeben werden. Die Eigenschaft hat den Typ EFDDBEngineException. Die Inhaltsdefinition ist von der Art des DBMS abhängig.
DBMS |
Beschreibung |
---|---|
Advantage Database Server |
Keine |
Microsoft Access Database |
Keine |
DataSnap server |
Keine |
IBM DB2 |
Keine |
InterBase |
Keine |
Firebird 3.0 |
Vom FB$OUT-Package erstellte Ausgabe |
MySQL Server |
Vom Befehl SHOW WARNINGS erstellte Ausgabe |
Oracle Server |
Vom DBMS_OUTPUT-Package erstellte Ausgabe |
PostgreSQL |
Hinweise und Warnungen |
SQLite |
Keine |
Sybase SQL Anywhere |
|
Microsoft SQL Server |
|
Nicht alle unterstützten DBMSs geben automatisch Meldungen zurück, die keine Fehlermeldungen sind. Beispielsweise muss für Oracle, MySQL und Firebird eine weitere DBMS-API aufgerufen werden, damit die Meldungen den Client erreichen. Dafür sind zusätzliche Serverzugriffe erforderlich. Bei SQL Server und Sybase SQL Anywhere werden die Meldungen jedoch immer automatisch zurückgegeben. Wenn Sie ResourceOptions.ServerOutput auf True setzen, ist sichergestellt, dass die Meldungen für jedes DBMS automatisch an den Client zurückgegeben werden. Die Meldungen werden bis zum nächsten DBMS-Aufruf (Open, ExecSQL, StartTransaction usw.) in der "Messages"-Liste gespeichert.
Beispiel
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;