Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis: Dieser Namespace oder Member bzw. diese Klasse wird nur von .NET Framework, Version 1.1, unterstützt.
Gibt eine DataTable zurück, die die Spaltenmetadaten des SqlCeDataReader beschreibt.
Public Overridable Function GetSchemaTable() As DataTable Implements _ IDataReader.GetSchemaTable
[C#]
public virtual DataTable GetSchemaTable();
[C++]
public: virtual DataTable* GetSchemaTable();
[JScript]
public function GetSchemaTable() : DataTable;
Rückgabewert
Eine DataTable, die die Spaltenmetadaten beschreibt.
Implementiert
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
| InvalidOperationException | Die Operation ist ungültig. Der SqlCeDataReader ist möglicherweise hinter der letzten Zeile im Resultset positioniert. |
Hinweise
Wenn SqlCeDataReader Spalten aus mehr als einer Basistabelle liest, füllt SqlCeDataReader die Schematabelle nicht mit IsKey-Werten. Dieses Verhalten ist dem Verhalten bei SELECT-Abfragen ähnlich: SELECT FirstName, LastName, 1+2 FROM Employees
Die Abfrage liest Spalten aus zwei verschiedenen Tabellen, der Employees-Tabelle in der Northwind-Datenbank und der temporären Tabelle, die für 1+2 erstellt wurde.
Die GetSchemaTable-Methode nimmt die Zuordnung zur OLE DB- IColumnsRowset::GetColumnsRowset-Methode vor und gibt Metadaten zu jeder Spalte in der folgenden Reihenfolge zurück:
| Schema Tabelle Spalte | Beschreibung |
|---|---|
| ColumnName | Der Name der Spalte. Dieser Name ist u. U. nicht eindeutig. Wenn der Name nicht bestimmt werden kann, wird ein NULL-Wert zurückgegeben. Dieser Name stellt immer die aktuellste Benennung der Spalte in der aktuellen Sicht oder im Befehlstext dar. |
| ColumnOrdinal | Die Ordnungszahl der Spalte. Die Ordinalzahl beginnt mit 0. SQL Server CE unterstützt keine Lesezeichen. |
| ColumnSize | Die maximal mögliche Länge eines Wertes in der Spalte. Bei Spalten, die einen Datentyp mit fester Länge verwenden, ist die maximale Länge die Größe des Datentyps. |
| NumericPrecision | Die maximale Genauigkeit der Spalte, wenn ProviderType ein numerischer Datentyp ist. Die Genauigkeit ist von der Definition der Spalte abhängig. Ein NULL-Wert, wenn ProviderType kein numerischer Datentyp ist. |
| NumericScale | Wenn ProviderType DBTYPE_DECIMAL oder DBTYPE_NUMERIC ist, ist dies die Anzahl der Ziffern rechts vom Dezimaltrennzeichen. Andernfalls ist dies ein NULL-Wert. |
| IsUnique | true: In der Basistabelle (der in BaseTableName zurückgegebenen Tabelle) dürfen in dieser Spalte keine zwei Zeilen denselben Wert haben. IsUnique ist immer true, wenn die Spalte selbst einen Schlüssel darstellt oder eine Einschränkung vom Typ UNIQUE ausschließlich auf diese Spalte angewendet wird. false: Die Spalte kann in der Basistabelle doppelte Werte enthalten. Der Standardwert für diese Spalte ist false. |
| IsKey | true: Die Spalte gehört zu einem Satz von Spalten im Rowset, die zusammen die Zeile eindeutig bezeichnen. Der Satz von Spalten, bei denen IsKey auf true festgelegt ist, muss eine Zeile im Rowset eindeutig bezeichnen. Es gibt für diesen Satz von Spalten keine Anforderung für einen Mindestsatz von Spalten. Dieser Satz von Spalten kann aus dem Primärschlüssel der Basistabelle, einer Unique-Einschränkung oder einem eindeutigen Index generiert werden. false: Die Spalte ist für die eindeutige Bezeichnung der Zeile nicht erforderlich. |
| BaseColumnName | Der Name der Spalte im Datenspeicher. Der Name ist ein NULL-Wert, wenn der Name der Basisspalte nicht bestimmt werden kann oder die Rowset-Spalte aus einer Spalte im Datenspeicher abgeleitet wird, jedoch nicht mit dieser identisch ist. Der Standardwert dieser Spalte ist ein NULL-Wert. |
| BaseTableName | Der Name der Tabelle im Datenspeicher, die die Spalte enthält. Der Name ist ein NULL-Wert, wenn der Name der Basistabelle nicht bestimmt werden kann. Der Standardwert dieser Spalte ist ein NULL-Wert. |
| DataType | Wird dem .NET Framework-Typ der Spalte zugeordnet. |
| AllowDBNull | Wird festgelegt, wenn der Consumer die Spalte auf einen NULL-Wert festlegen kann oder wenn der Provider nicht bestimmen kann, ob der Consumer die Spalte auf einen NULL-Wert festlegen kann. Wird andernfalls nicht festgelegt. Eine Spalte kann auch dann NULL-Werte enthalten, wenn sie nicht auf einen NULL-Wert festgelegt werden kann. |
| ProviderType | Der Indikator des Datentyps der Spalte. Diese Spalte darf keinen NULL-Wert enthalten. |
| IsAutoIncrement | true: Die Spalte weist neuen Zeilen Werte zu, die in feststehenden Schritten erhöht werden. false: Die Spalte weist neuen Zeilen keine Werte zu, die in feststehenden Schritten erhöht werden. Der Standardwert für diese Spalte ist false. |
| IsRowVersion | Wird festgelegt, wenn die Spalte einen persistenten Zeilenbezeichner enthält, in den nicht geschrieben werden kann und dessen Wert nur zum Bezeichnen der Zeile sinnvoll ist. |
| IsLong | Wird festgelegt, wenn die Spalte ein BLOB (Binary Large Object) mit sehr umfangreichen Daten enthält. |
| IsReadOnly | true, wenn die Spalte geändert werden kann, andernfalls false. |
Anforderungen
Plattformen: .NET Compact Framework - Windows CE .NET
.NET Framework-Sicherheit:
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
SqlCeDataReader-Klasse | SqlCeDataReader-Member | System.Data.SqlServerCe-Namespace