OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
Kapalı OleDbConnection .
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 restrictions
boş 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.