OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy adatforrás sémaadatait adja vissza a GUID által jelzett módon, majd a megadott korlátozások alkalmazása után.
public:
System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable? GetOleDbSchemaTable(Guid schema, object?[]? restrictions);
public System.Data.DataTable GetOleDbSchemaTable(Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable
Paraméterek
- schema
- Guid
OleDbSchemaGuid A visszaadni kívánt sématáblát meghatározó értékek egyike.
- restrictions
- Object[]
Korlátozási Object értékek tömbje. Ezek a korlátozási oszlopok sorrendjében vannak alkalmazva. Vagyis az első korlátozási érték az első korlátozási oszlopra, a második korlátozási érték a második korlátozási oszlopra és így tovább.
Válaszok
A DataTable kért sémainformációkat tartalmazó fájl.
Kivételek
A megadott korlátozáskészlet érvénytelen.
A OleDbConnection lezárva.
A megadott sémasorkészletet az OLE DB-szolgáltató nem támogatja.
-vagy-
A schema paraméter egy érték, DbInfoLiterals a restrictions paraméter pedig egy vagy több korlátozást tartalmaz.
Példák
Az alábbi minta egy adatbázis tábláinak listáját adja vissza.
static DataTable GetSchemaTable(string connectionString)
{
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open();
DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
return schemaTable;
}
}
Public Function GetSchemaTable(ByVal connectionString As String) _
As DataTable
Using connection As New OleDbConnection(connectionString)
connection.Open()
Dim schemaTable As DataTable = _
connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
Return schemaTable
End Using
End Function
Megjegyzések
A sématáblát a rendszer a paraméter által DataTable megadott OLE DB sémasorkészlet formátumával megegyező formátumban adja visszaschema.
restrictions A paraméter használatával szűrheti a visszaadandó DataTable sorokat (például a táblanévre, típusra, tulajdonosra vagy sémára vonatkozó korlátozások megadásával). Ha értékeket ad át a tömbben, adjon meg üres sztringeket vagy null értékeket az olyan tömbelemekhez, amelyek nem tartalmaznak értékeket. Ha egy üres tömböt restrictionsad át, a rendszer az összes sort (minden táblázathoz egyet) alapértelmezett sorrendben adja vissza. A tömb értékei a forrástábla és DataTablea . A korlátozási tömb minden elemét összehasonlítjuk a sémasorkészlet megfelelő oszlopának tartalmával. A korlátozástömb első eleme például a sorhalmaz első oszlopával van összehasonlítva. Ha egy korlátozási elem nem null értékű, a rendszer csak a sémasorkészlet azon sorait adja hozzá az eredményhez DataTable, amelyek megfelelnek a korlátozás értékének.
A OleDbConnection metódus meghívja az alapul szolgáló OLE DB IDBSchemaRowset::GetRowset metódust szabványos közös nyelvi futtatókörnyezet-konverziós szabályok használatával. További információ: COM-adattípusok.
A literálokra vonatkozó információkat a következővel DbInfoLiteralskérdezheti le: . Ez az OLE DB IDBInfo::GetLiteralInfo felület vagy az ADO Connection.OpenSchema metódus konstanssal való meghívásával adSchemaDBInfoLiterals egyenértékű információt nyújt.