FireDAC.Comp.Client.TFDCustomConnection.Messages
Delphi
property Messages: EFDDBEngineException read GetMessages;
C++
__property Firedac::Stan::Error::EFDDBEngineException* Messages = {read=GetMessages};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
property | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomConnection |
Description
Renvoie une liste de messages renvoyée par le SGBD après une opération de base de données récente.
Lisez la propriété Messages pour obtenir une liste des messages, conseils ou avertissements renvoyés par un SGBD après un appel SGBD récent. La propriété est du type EFDDBEngineException. La définition du contenu dépend du type de SGBD.
SGBD |
Description |
---|---|
Advantage Database Server |
Aucune |
Microsoft Access Database |
Aucune |
DataSnap server |
Aucune |
IBM DB2 |
Aucune |
InterBase |
Aucune |
Firebird |
Aucune |
MySQL Server |
Sortie de la commande SHOW WARNINGS |
Oracle Server |
Sortie produite par le package DBMS_OUTPUT |
PostgreSQL |
Avis et messages d'avertissement |
SQLite |
Aucune |
Sybase SQL Anywhere |
|
Microsoft SQL Server |
|
Les SGBD supportés ne renvoient pas tous des messages, autres que des erreurs, automatiquement. Par exemple, pour Oracle et MySQL, FireDAC doit appeler une API SGBD supplémentaire pour amener les messages à un client. Cela nécessite des aller-retours serveur supplémentaires. Mais pour SQL Server et Sybase SQL Anywhere, les messages sont toujours renvoyés automatiquement. La définition de ResourceOptions.ServerOutput sur True garantit cela, pour tout SGBD, les messages seront automatiquement renvoyés par le client. Les messages sont stockés dans la liste Messages jusqu'au prochain appel SGBD (Open, ExecSQL, StartTransaction, etc.).
Exemple
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;