OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan informasi skema dari sumber data seperti yang ditunjukkan oleh GUID, dan setelah menerapkan batasan 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.
Sudah OleDbConnection ditutup.
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 dalam 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 set baris skema. Misalnya, elemen pertama dalam array pembatasan dibandingkan dengan kolom pertama dalam set baris. Jika elemen pembatasan tidak null, hanya baris dari set 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 literal dengan menggunakan DbInfoLiterals. Ini menyediakan informasi yang setara dengan memanggil antarmuka OLE DB IDBInfo::GetLiteralInfo , atau metode ADO Connection.OpenSchema dengan adSchemaDBInfoLiterals
konstanta.