OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在套用指定的限制之後,從資料來源傳回 GUID 所指示的結構描述 (Schema) 資訊。
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
參數
- schema
- Guid
其中一個 OleDbSchemaGuid 值,指定要傳回的結構描述資料表。
- restrictions
- Object[]
限制值的 Object 陣列。 這些值是依照限制資料行的順序套用。 亦即,第一個限制值會套用到第一個限制資料行、第二個限制值會套用到第二個限制資料行,以此類推。
傳回
DataTable,包含要求的結構描述資訊。
例外狀況
指定的限制集合無效。
範例
下列範例會傳回資料庫中的數據表清單。
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
備註
架構數據表會傳回為 DataTable ,其格式與 參數所 schema
指定的 OLE DB 架構數據列集相同。
restrictions
例如,使用 參數來篩選 (中DataTable要傳回的數據列,方法是指定數據表名稱、類型、擁有者或架構) 的限制。 當您在陣列中傳遞值時,請為不包含值的陣列元素包含空字串或 Null。 如果您將空數位傳遞至 restrictions
,則會依預設順序傳回每個數據表 (一個數據列) 。 陣列中的值會對應至源數據表和 DataTable中的數據行順序。 限制陣列中的每個元素都會與架構數據列集中對應數據行的內容進行比較。 例如,限制陣列中的第一個專案會與數據列集中的第一個數據行進行比較。 如果限制專案不是 Null,則只會將完全符合限制值的架構資料列集的資料列新增至產生的 DataTable。
方法 OleDbConnection 會使用標準 Common Language Runtime 轉換規則呼叫基礎 OLE DB IDBSchemaRowset::GetRowset 方法。 如需詳細資訊,請參閱 COM 數據類型。
您可以使用 擷 DbInfoLiterals取常值的相關信息。 這會提供相當於呼叫 OLE DB IDBInfo::GetLiteralInfo 介面的資訊,或使用常數呼叫 ADO Connection.OpenSchema 方法 adSchemaDBInfoLiterals
。