FireDAC.Comp.Client.TFDRdbmsDataSet.Open

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure Open(const ASQL: String); overload;
procedure Open(const ASQL: String; const AParams: array of Variant); overload;
procedure Open(const ASQL: String; const AParams: array of Variant;  const ATypes: array of TFieldType); overload;

C++

HIDESBASE void __fastcall Open(const System::UnicodeString ASQL)/* overload */;
HIDESBASE void __fastcall Open(const System::UnicodeString ASQL, const System::Variant *AParams, const int AParams_High)/* overload */;
HIDESBASE void __fastcall Open(const System::UnicodeString ASQL, const System::Variant *AParams, const int AParams_High, const Data::Db::TFieldType *ATypes, const int ATypes_High)/* overload */;
inline void __fastcall  Open(){ Data::Db::TDataSet::Open(); }

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDRdbmsDataSet

Beschreibung

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]);

Siehe auch