星期四, 3月 27, 2008

[DATABASE] ADO OpenSchema Method


利用 ADO 來抓出資料庫內的資料表、View 可以利用 ADO裡的 Connection物件內的 OpenSchema 方法(Method) 來達到這個目的。


Connection.OpenSchema(querytype, Criteria, SchemaID )


querytype:
20 -> all tables and views
4 -> all columns


比較值得注意的是 Criteria, 它是一個陣列,依照 querytype來傳入值。



QueryType Criteria
=============================
adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE


QueryType Criteria
===============================
adSchemaColumns TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME


QueryType Criteria
================================
adSchemaIndexes TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME



以下以 ASP 來做範例:


Set conn = Server.CreateObject("ADODB.Connection")


' 只取出 資料表名稱, 若不傳參數,就用 empty
Set Rs = Conn.OpenSchema(20, array(empty, empty, empty,"table") ))