Data.SqlExpr.TCustomSQLDataSet.SetSchemaInfo

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure SetSchemaInfo(SchemaType: TSchemaType; SchemaObjectName, SchemaPattern: string; PackageName: string = '' );

C++

void __fastcall SetSchemaInfo(TSchemaType SchemaType, System::UnicodeString SchemaObjectName, System::UnicodeString SchemaPattern, System::UnicodeString PackageName = System::UnicodeString());

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
Data.SqlExpr.pas
Data.SqlExpr.hpp
Data.SqlExpr TCustomSQLDataSet

Beschreibung

Legt fest, ob die Datenmenge Metadaten vom Server enthält und welcher Art diese Daten sind.

Mit SetSchemaInfo können Sie festlegen, ob die SQL-Datenmenge das Ergebnis einer SQL-Anweisung (Eigenschaft CommandText) oder eine Tabelle mit Schemainformationen (Metadaten) enthalten soll.

Der Parameter SchemaType bezeichnet die gewünschte Informationsart. Möglich sind die folgenden Werte:



Wert Beschreibung

stNoSchema

Keine Schemainformationen. Die SQL-Datenmenge enthält keine Metadaten vom Server, sondern das Ergebnis der Abfrage oder Stored Procedure.

stTables

Informationen über alle Datentabellen auf dem Datenbankserver, die den in der Eigenschaft TableScope der SQL-Verbindung angegeben Kriterien entsprechen.

stSysTables

Informationen über alle Systemtabellen auf dem Datenbankserver. Nicht alle Server verwenden zum Speichern von Metadaten Systemtabellen. Wird eine Liste der Systemtabellen von einem Server angefordert, der keine Systemtabellen verwendet, ist die resultierende Datenmenge leer.

stProcedures

Informationen über alle Stored Procedures auf dem Datenbankserver.

stColumns

Informationen über alle Spalten (Felder) in der angegebenen Tabelle.

stProcedureParams

Informationen über alle Parameter der angegebenen Stored Procedure.

stIndexes

Informationen über alle Indizes der angegebenen Tabelle.



SchemaObjectName ist der Name der Tabelle oder Stored Procedure, über deren Spalten, Indizes oder Parameter Sie Informationen benötigen. Hat SchemaType den Wert stColumns oder stIndexes, gibt SchemaObjectName den Namen einer Tabelle an. Hat SchemaType den Wert stProcedureParams, bezeichnet SchemaObjectName eine Stored Procedure. Wenn SchemaType den Wert stNoSchema, stTables, stSysTables oder stProcedures oder stPackageshat, wird SchemaObjectName ignoriert.

SchemaPattern ist ein Muster, das als Filter für die Ergebnismenge dient. Der Name jedes Elements (Tabelle, Stored Procedure, Feld, Parameter oder Index) muss dieser Mustermaske entsprechen. Andernfalls wird das Element beim Öffnen der SQL-Datenmenge nicht als Datensatz angezeigt. SchemaPattern erlaubt die Platzhalter '%' (ein String mit beliebigen Zeichen und von beliebiger Länge) und '_' (ein beliebiges einzelnes Zeichen). Wenn Sie in einem Muster ein literales Prozent- oder Unterstrichzeichen verwenden wollen, geben Sie es doppelt an (%% oder __). Wenn Sie keine Muster verwenden möchten, setzen Sie Pattern auf nil (Delphi) bzw. NULL (C++).

PackageName ist der Name eines Oracle-Package, in dem die Stored Procedure enthalten ist, wenn SchemaType stProcedures oder stProcedureParams ist. Wenn der Server kein Oracle-Server ist oder wenn die Stored Procedure nicht in einem Package definiert ist, sollte PackageName ein leerer String sein.

Wenn Sie nach einem Aufruf von SetSchemaInfo die Datenmenge öffnen, enthält Sie die gewünschten Informationen. Wenn SchemaType den Wert stNoSchema hat, verwendet die Datenmenge die Anweisung in CommandText.

Anmerkung:  Wenn sich der Wert der Eigenschaft CommandText ändert, weist die Datenmenge der Eigenschaft SchemaType automatisch den Wert stNoSchema zu.

Siehe auch