Share via


OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metode

Definisi

Mengembalikan informasi skema dari sumber data seperti yang ditunjukkan oleh GUID, dan setelah menerapkan pembatasan yang ditentukan.

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

Parameter

schema
Guid

Salah OleDbSchemaGuid satu nilai yang menentukan tabel skema yang akan dikembalikan.

restrictions
Object[]

Array Object nilai pembatasan. Ini diterapkan dalam urutan kolom pembatasan. Artinya, nilai pembatasan pertama berlaku untuk kolom pembatasan pertama, nilai pembatasan kedua berlaku untuk kolom pembatasan kedua, dan sebagainya.

Mengembalikan

DataTable yang berisi informasi skema yang diminta.

Pengecualian

Set pembatasan yang ditentukan tidak valid.

Kumpulan baris skema yang ditentukan tidak didukung oleh penyedia OLE DB.

-atau-

Parameter schema berisi nilai DbInfoLiterals dan restrictions parameter berisi satu atau beberapa batasan.

Contoh

Sampel berikut mengembalikan daftar tabel dalam database.

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

Keterangan

Tabel skema dikembalikan sebagai DataTable yang memiliki format yang sama dengan kumpulan baris skema OLE DB yang ditentukan oleh schema parameter . restrictions Gunakan parameter untuk memfilter baris yang akan dikembalikan di DataTable (misalnya, dengan menentukan batasan untuk nama tabel, jenis, pemilik, atau skema). Saat Anda meneruskan nilai dalam array, sertakan string kosong atau null untuk elemen array yang tidak berisi nilai. Jika Anda meneruskan array kosong ke restrictions, semua baris (satu untuk setiap tabel) dikembalikan dalam urutan default. Nilai dalam array sesuai dengan urutan kolom dalam tabel sumber dan DataTable. Setiap elemen dalam array pembatasan dibandingkan dengan konten kolom terkait dalam kumpulan baris skema. Misalnya, elemen pertama dalam array pembatasan dibandingkan dengan kolom pertama dalam set baris. Jika elemen pembatasan tidak null, hanya baris dari kumpulan baris skema yang sama persis dengan nilai pembatasan yang ditambahkan ke yang dihasilkan DataTable.

Metode ini OleDbConnection memanggil metode OLE DB IDBSchemaRowset::GetRowset yang mendasarinya menggunakan aturan konversi runtime bahasa umum standar. Untuk informasi selengkapnya, lihat Jenis Data COM.

Anda dapat mengambil informasi tentang harfiah dengan menggunakan DbInfoLiterals. Ini menyediakan informasi yang setara dengan memanggil antarmuka OLE DB IDBInfo::GetLiteralInfo , atau metode ADO Connection.OpenSchema dengan adSchemaDBInfoLiterals konstanta.

Berlaku untuk

Lihat juga