API:FireDAC.Comp.Client.TFDTable.Open
Delphi
procedure Open(const ATableName: String); overload;
C++
HIDESBASE void __fastcall Open(const System::UnicodeString ATableName)/* overload */;
inline void __fastcall Open(const System::UnicodeString ASQL, const System::Variant *AParams, const int AParams_High){ TFDRdbmsDataSet::Open(ASQL, AParams, AParams_High); }
inline void __fastcall Open(const System::UnicodeString ASQL, const System::Variant *AParams, const int AParams_High, const Data::Db::TFieldType *ATypes, const int ATypes_High){ TFDRdbmsDataSet::Open(ASQL, AParams, AParams_High, ATypes, ATypes_High); }
inline void __fastcall Open(){ Data::Db::TDataSet::Open(); }
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDTable |
Beschreibung
Führt die angegebene SQL-Anweisung aus.
FireDAC.Comp.Client.TFDTable.Open erbt von FireDAC.Comp.Client.TFDRdbmsDataSet.Open. Der folgende Inhalt bezieht sich auf FireDAC.Comp.Client.TFDRdbmsDataSet.Open.
Führt die angegebene SQL-Anweisung aus.
Mit Open führen Sie die in ASQL
angegebene SQL-Anweisung bzw. wenn ASQL
leer ist, diejenige Anweisung aus, die aktuell dem internen Anweisungsobjekt zugewiesen ist.
Diese Methode ist überladen:
- Die erste überladene Methode führt die angegebene SQL-Anweisung aus und öffnet die Datenmenge.
- Die zweite überladene Methode führt die angegebene SQL-Anweisung mit den angegebenen Parameterwerten aus und öffnet die Datenmenge.
- Die dritte überladene Methode führt die angegebene SQL-Anweisung mit den angegebenen Parameterwerten aus und öffnet die Datenmenge.
Die Methode schließt die Datenmenge, wenn sie aktiv war, weist dann dem Anweisungstext ASQL
zu und setzt die Eigenschaft Active auf True. Wenn Active True ist, wird die Datenmenge mit Daten aus der Datenbank gefüllt. Diese Methode ermöglicht die Angabe von Parameterwerten mit Positionsparameterbindung und exakten Parameterdatentypen. Wenn der Parameterdatentyp unverändert belassen werden soll, setzen Sie ftUnknown
in das Array-Element, das dem Parameter entspricht.
Wenn in einer Anwendung dieselbe SQL-Anweisung mehrmals ausgeführt werden muss, kann normalerweise die SQL-Eigenschaft gesetzt und Prepare vor dem ersten Aufrufen von Open aufgerufen werden und dann eine beliebige Version von Open ohne Angabe von ASQL
verwendet werden.
Mit ResourceOptions.CmdExecMode steuern Sie den asynchronen Ausführungsmodus, und mit ResourceOptions.CmdExecTimeout legen Sie die maximale Dauer der Ausführung der Anweisung fest. Danach wird die Anweisungsausführung abgebrochen und eine Exception ausgelöst.
Mit TFDAdaptedDataSet.AbortJob brechen Sie die Anweisungsausführung ab. Wenn ein DBMS einen Fehler zurückgibt, löst FireDAC eine Exception aus. Einzelheiten finden Sie unter Fehlerbehandlung. Im Falle von langen String-Werten und Fehlern wie:
[FireDAC][Phys][ODBC]-345. Data too large for variable [P]. Max len = [8002], actual len = [18329]
müssen Sie ftMemo
oder ftBlob
für den entsprechenden Parameter ("P") angeben. Alternativ können Sie die Standardversion von Open aufrufen und die Parameterdatentypen und -werte separat angeben.
Beispiel
//Example 1:
FDQuery1.Open('select * from customers');
//Example 2:
FDQuery1.Open('select * from Employees where department_id = :id', [100]);
....
FDQuery1.Open('', [101]); // executes the above SQL command, but for ID = 101
//Example 3:
FDQuery1.Open('select * from Employees where department_id = :id', [100], [ftInteger]);