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

Tanım

Veri kaynağından şema bilgilerini GUID ile 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);
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

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

restrictions
Object[]

Kısıtlama Object değerleri dizisi. Bunlar kısıtlama sütunları sırasına göre uygulanır. Diğer 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. restrictions içinde döndürülecek DataTable satırları filtrelemek için parametresini kullanın (örneğin, tablo adı, türü, sahibi veya şeması için kısıtlamalar belirterek). Dizideki değerleri geçirdiğinizde, değer içermeyen dizi öğeleri için boş dizeler veya null'lar 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. Restrictions dizisindeki her öğe, şema satır kümesindeki ilgili sütunun içeriğiyle karşılaştırılır. Örneğin, restrictions 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 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.