OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從資料來源回傳結構資訊,並依 GUID 指示,並在套用指定限制後。
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
參數
- schema
- Guid
OleDbSchemaGuid其中一個值是指定要回傳的結構表。
傳回
DataTable A 包含所請求的結構資訊。
例外狀況
指定的限制集合是無效的。
範例
以下範例回傳資料庫中的資料表清單。
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 DataTable 形式回傳,格式與參數指定的 schema OLE DB 架構列集相同。 使用參數 restrictions 來篩選要回傳的資料 DataTable 列(例如,透過指定資料表名稱、類型、擁有者或結構的限制)。 當你在陣列中傳遞值時,請為不包含值的陣列元素加入空字串或空。 如果你將空陣列傳給 restrictions,所有列(每個資料表一列)都會以預設順序回傳。 陣列中的值對應於來源表中欄位的順序。DataTable 限制陣列中的每個元素都會與結構列中對應欄位的內容進行比較。 例如,限制陣列中的第一個元素與列集的第一欄比較。 若限制元素非空,則僅會加入結構列集中與限制值完全相符的列。DataTable
此方法呼叫 OleDbConnection 底層的 OLE DB IDBSchemaRowset::GetRowset 方法,使用標準通用語言執行時轉換規則。 欲了解更多資訊,請參閱 COM 資料型別。
你可以透過使用 DbInfoLiterals來取得關於文字的資訊。 此資訊相當於呼叫 OLE DB IDBInfo::GetLiteralInfo 介面,或使用 ADO Connection.OpenSchema 方法(常 adSchemaDBInfoLiterals 數)。