Aracılığıyla paylaş


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

Tanım

Veri kaynağındaki şema bilgilerini GUID ile belirtilen şekilde 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ı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. 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 restrictionsboş bir dizi geç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 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.