FireDAC.Comp.Client.TFDUpdateSQL.InsertSQL
Delphi
property InsertSQL: TStrings index 0 read GetSQL write SetSQL;
C++
__property System::Classes::TStrings* InsertSQL = {read=GetSQL, write=SetSQL, index=0};
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | published | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDUpdateSQL |
Beschreibung
Gibt eine SQL-Anweisung an, die beim Übernehmen der Einfügung eines Datensatzes verwendet werden soll.
Setzen Sie InsertSQL auf eine SQL-Anweisung, die beim Übernehmen der Einfügung eines Datensatzes in eine Datenbank verwendet werden soll.
Um einen neuen Feldwert an eine Anweisung zu übergeben, verwenden Sie den Parameternamen :NEW_<Feldname>
oder :<Feldname>
. In Anweisungen können zusätzliche Parameter und Makros verwendet werden. Mit der Eigenschaft Commands können Sie auf die Parameter- oder Makrokollektion zugreifen.
Wenn die Anweisung neue Werte der Datensatzfelder (die im Trigger identifiziert oder geändert wurden) durch Parameter abruft, dann verwenden Sie den Parameternamen :NEW_<Feldname>
oder :<Feldname>
, um Parameterwerte in den Datensatz einzubeziehen und setzen den Parametertyp auf ptOutput
. Wenn die Anweisung eine Datensatzmenge erzeugt, dann müssen die Felder dieser Datensatzmenge und die Felder in der Datenmenge dieselben Namen haben.
Um eine INSERT
-Anweisung beim Entwurf zu erstellen, verwenden Sie den UpdateSQL-Editor. Doppelklicken Sie dazu auf die TFDUpdateSQL-Komponente. Sie können auch Aufrufe von gespeicherten Prozeduren oder andere SQL-Anweisungen verwenden, um Einfügungen zu übernehmen.
Bei der Eigenschaft Commands finden Sie Einzelheiten zur Verwendung von Makros oder weiteren Parametern im Anweisungstext.
Beispiel
// SQL Server sample
FDUpdateSQL1.InsertSQL := 'INSERT INTO [Shippers] (COMPANYNAME, PHONE) ' +
'VALUES (:NEW_COMPANYNAME, :NEW_PHONE); SELECT SCOPE_IDENTITY() AS SHIPPERID';
// Oracle sample
FDUpdateSQL1.InsertSQL := 'INSERT INTO ADDEMO."Shippers" (COMPANYNAME, PHONE) ' +
'VALUES (:NEW_COMPANYNAME, :NEW_PHONE) RETURNING SHIPPERID INTO :NEW_SHIPPERID';
FDUpdateSQL1.Commands[arInsert].ParamByName('NEW_SHIPPERID').ParamType := ptOutput;