OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Yöntem

Tanım

Veri kaynağındaki şema bilgilerini GUID tarafından gösterildiği gibi ve belirtilen kısıtlamaları uygulandıktan sonra döndürür.

public:
 System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::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

Parametreler

schema
Guid

Döndürülecek OleDbSchemaGuid şema tablosunu belirten değerlerden biri.

restrictions
Object[]

Kısıtlama Object değerleri dizisi. Bunlar kısıtlama sütunlarının sırasına göre uygulanır. Başka bir ifadeyle, ilk kısıtlama değeri ilk kısıtlama sütununa, ikinci kısıtlama değeri ikinci kısıtlama sütununa uygulanır ve bu şekilde devam eder.

Döndürülenler

DataTable İstenen şema bilgilerini içeren bir.

Özel durumlar

Belirtilen kısıtlama kümesi geçersiz.

Belirtilen şema satır kümesi OLE DB sağlayıcısı tarafından desteklenmiyor.

-veya-

schema parametresi değerini DbInfoLiterals içerir ve restrictions parametresi bir veya daha fazla kısıtlama içerir.

Örnekler

Aşağıdaki örnek, veritabanındaki tabloların listesini döndürür.

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

Açıklamalar

Şema tablosu, parametresi tarafından belirtilen OLE DB şema satır kümesiyle aynı biçime schema sahip bir DataTable olarak döndürülür. içinde döndürülecek DataTable satırları filtrelemek için parametresini restrictions kullanın (örneğin, tablo adı, tür, sahip veya şema için kısıtlamalar belirterek). Dizideki değerleri geçirirken, değer içermeyen dizi öğeleri için boş dizeler veya null değerler ekleyin. öğesine boş bir dizi restrictionsgeçirirseniz, tüm satırlar (her tablo için bir tane) varsayılan sırada döndürülür. Dizideki değerler, kaynak tablodaki ve DataTablesütunlarının sırasına karşılık gelir. Kısıtlamalar dizisindeki her öğe, şema satır kümesindeki ilgili sütunun içeriğiyle karşılaştırılır. Örneğin, kısıtlamalar dizisindeki ilk öğe satır kümesindeki ilk sütunla karşılaştırılır. Bir kısıtlama öğesi null değilse, sonuçta elde edilen öğesine yalnızca şema satır kümesinden kısıtlamanın değeriyle tam olarak eşleşen satırlar eklenir DataTable.

yöntemi, OleDbConnection standart ortak dil çalışma zamanı dönüştürme kurallarını kullanarak temel alınan OLE DB IDBSchemaRowset::GetRowset yöntemini çağırır. Daha fazla bilgi için bkz. COM Veri Türleri.

kullanarak DbInfoLiteralsdeğişmez değerlerle ilgili bilgileri alabilirsiniz. Bu, OLE DB IDBInfo::GetLiteralInfo arabirimini veya sabiti olan ADO Connection.OpenSchema yöntemini çağırmaya adSchemaDBInfoLiterals eşdeğer bilgiler sağlar.

Şunlara uygulanır

Ayrıca bkz.