Nyelv

OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metódus

Definíció

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 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.

A következőre érvényes:

Lásd még