發(fā)布時間:2019/4/20 10:51:40 關(guān)注:2161
1、ADOX 概述 Microsoft® ActiveX® Data Objects Extensions for Data Definition Language and Security (ADOX) 是對 ADO 對象和編程模型的擴展。ADOX 包括用于模式創(chuàng)建和修改的對象,以及安全性。由于它是基于對象實現(xiàn)模式操作,所以用戶可以編寫對各種數(shù)據(jù)源都能有效運行的代碼,而與它們原始語法中的差異無關(guān)。 ADOX 是核心 ADO 對象的擴展庫。它顯露的其他對象可用于創(chuàng)建、修改和刪除模式對象,如表格和過程。它還包括安全對象,可用于維護用戶和組,以及授予和撤消對象的權(quán)限。 要通過開發(fā)工具使用 ADOX,需要建立對 ADOX 類型庫的引用。對 ADOX 庫的說明為“Microsoft ADO Ext. for DDL and Security.”。ADOX 庫文件名為“Msadox.dll”,程序 ID (ProgID) 為“ADOX”。有關(guān)建立庫引用的詳細(xì)信息,請參閱開發(fā)工具的文檔。 2、ADOX 對象 Catalog 包含描述數(shù)據(jù)源模式目錄的集合。 Column 表示表、索引或關(guān)鍵字的列。 Group 表示在安全數(shù)據(jù)庫內(nèi)有訪問權(quán)限的組帳號。 Index 表示數(shù)據(jù)庫表中的索引。 Key 表示數(shù)據(jù)庫表中的主關(guān)鍵字、外部關(guān)鍵字或唯一關(guān)鍵字。 Procedure 表示存儲的過程。 Table 表示數(shù)據(jù)庫表,包括列、索引和關(guān)鍵字。 User 表示在安全數(shù)據(jù)庫內(nèi)具有訪問權(quán)限的用戶帳號。 View 表示記錄或虛擬表的過濾集。 3、ADOX 方法 Append(Columns) 將新的 Column 對象添加到 Columns 集合。 Append(Groups) 將新的 Group 對象添加到 Groups 集合。 Append(Indexes) 將新的 Index 對象添加到 Indexes 集合。 Append(Keys) 將新的 Key 對象添加到 Keys 集合。 Append(Procedures) 將新的 Procedure 對象添加到 Procedures 集合。 Append(Tables) 將新的 Table 對象添加到 Tables 集合。 Append(Users) 將新的 User 對象添加到 Users 集合。 Append(Views) 將新的 View 對象添加到 Views 集合。 ChangePassword 更改用戶帳號的密碼。 Create 創(chuàng)建新的目錄。 Delete 刪除集合中的對象。 GetObjectOwner 返回目錄中對象的擁有者。 GetPermissions 獲得對象上組或用戶的權(quán)限。 Item 按名稱或序號返回集合的指定成員。 Refresh 更新集合中的對象,以反映針對提供者可用的和指定的對象。 SetObjectOwner 指定目錄中對象的擁有者。 SetPermissions 設(shè)置對象上組或用戶的權(quán)限。 4、ADOX 屬性 ActiveConnection 指示目錄所屬的 ADO Connection 對象。 Attributes 描述列特性。 Clustered 指示索引是否被分簇。 Command 指定可用于創(chuàng)建或執(zhí)行過程的 ADO Command 對象。 Count 指示集合中的對象數(shù)量。 DateCreated 指示創(chuàng)建對象的日期。 DateModified 指示上一次更改對象的日期。 DefinedSize 指示列的規(guī)定最大大小。 DeleteRule 指示主關(guān)鍵字被刪除時將執(zhí)行的操作。 IndexNulls 指示在索引字段中有 Null 值的記錄是否有索引項。 Name 指示對象的名稱。 NumericScale 指示列中數(shù)值的范圍。 ParentCatalog 指定表或列的父目錄以便訪問特定提供者的屬性。 Precision 指示列中數(shù)據(jù)值的最高精度。 PrimaryKey 指示索引是否代表表的主關(guān)鍵字。 RelatedColumn 指示相關(guān)表中相關(guān)列的名稱(僅關(guān)鍵字列)。 RelatedTable 指示相關(guān)表的名稱。 SortOrder 指示列的排序順序(僅索引列)。 Type(列) 指示列的數(shù)據(jù)類型。 Type(關(guān)鍵字) 指示關(guān)鍵字的數(shù)據(jù)類型。 Type(表) 指示表的類型。 Unique 指示索引關(guān)鍵字是否必須是唯一的。 UpdateRule 指示主關(guān)鍵字被更新時會執(zhí)行的操作。 5、范例 一、創(chuàng)建數(shù)據(jù)庫范例 如下代碼顯示如何通過 Create 方法創(chuàng)建新的 Jet 數(shù)據(jù)庫。 ASP代碼: set cat=server.createobject("ADOX.Catalog") cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb" VB代碼 Sub CreateDatabase() 'Dim cat As New ADOX.Catalog ' cat.Create ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"" End Sub 二、創(chuàng)建表范例 ASP代碼: <% set cat=server.createobject("ADOX.Catalog") dbpath=server.mappath("/shit/date/new.mdb") cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath set tbl=Server.createobject("ADOX.Table") tbl.Name = "MyTable" tbl.Columns.Append "Column1", 3 'adInteger tbl.Columns.Append "Column2", 3 'adInteger tbl.Columns.Append "Column3", 202 ,50 'adVarWChar cat.Tables.Append tbl %> VB代碼: Sub CreateTable() Dim tbl As New Table Dim cat As New ADOX.Catalog '打開目錄。 ' 打開目錄。 cat.ActiveConnection = _ ""Provider=Microsoft.Jet.OLEDB.4.0;"" & _ ""Data Source=c:\Program Files\Microsoft Office\"" & _ ""Office\Samples\Northwind.mdb;"" tbl.Name = ""MyTable"" tbl.Columns.Append ""Column1"", adInteger tbl.Columns.Append ""Column2"", adInteger tbl.Columns.Append ""Column3"", adVarWChar, 50 cat.Tables.Append tbl End Sub 三、創(chuàng)建索引范例 如下代碼演示如何創(chuàng)建新的索引。索引針對表的兩個列建立。 Sub CreateIndex() Dim tbl As New Table Dim idx As New ADOX.Index Dim cat As New ADOX.Catalog ' 打開目錄。 ' 打開目錄。 cat.ActiveConnection = _ ""Provider=Microsoft.Jet.OLEDB.4.0;"" & _ ""Data Source=c:\Program Files\Microsoft Office\"" & _ ""Office\Samples\Northwind.mdb;"" ' 定義表并將其追加到目錄 tbl.Name = ""MyTable"" tbl.Columns.Append ""Column1"", adInteger tbl.Columns.Append ""Column2"", adInteger tbl.Columns.Append ""Column3"", adVarWChar, 50 cat.Tables.Append tbl ' 定義多列索引 idx.Name = ""multicolidx"" idx.Columns.Append ""Column1"" idx.Columns.Append ""Column2"" ' 將索引追加到表上 tbl.Indexes.Append idx End Sub 四、創(chuàng)建關(guān)鍵字范例 如下代碼演示如何創(chuàng)建新的外部關(guān)鍵字。假定已存在兩個表(Customers 和 Orders)。 Sub CreateKey() Dim kyForeign As New ADOX.Key Dim cat As New ADOX.Catalog cat.ActiveConnection = ""Provider=Microsoft.Jet.OLEDB.4.0;"" & _ ""Data Source=c:\Program Files\Microsoft Office\"" & _ ""Office\Samples\Northwind.mdb;"" kyForeign.Name = ""CustOrder"" kyForeign.Type = adKeyForeign kyForeign.RelatedTable = ""Customers"" kyForeign.Columns.Append ""CustomerId"" kyForeign.Columns(""CustomerId"").RelatedColumn = ""CustomerId"" kyForeign.UpdateRule = adRICascade cat.Tables(""Orders"").Keys.Append kyForeign End Sub [/code]
|
Type 屬性(列)
指示列的數(shù)據(jù)類型
設(shè)置和返回值
設(shè)置或返回長整型值,該值是如下常量之一:
常量 說明
adTinyInt 精確的數(shù)字值,精度為小數(shù)點后 3 位。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdSmallInt 精確數(shù)字值,精度為小數(shù)點后 5 位。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdInteger 精確數(shù)字值,精度為小數(shù)點后 10 位。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdBigInt 精確數(shù)字值,精度為小數(shù)點后 19 位。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdUnsignedTinyInt 無符號的 adTinyInt。
AdUnsignedSmallInt 無符號的 adSmallInt。
AdUnsignedInt 無符號的 adInteger。
AdUnsignedBigInt 無符號的 adBigInt。
AdSingle 單精度浮點數(shù)。
AdDouble 雙精度浮點數(shù)。
AdCurrency 貨幣類型。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdDecimal 變體型十進制類型。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdNumeric 數(shù)值類型。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdBoolean 變體布爾類型。0 為假而 ~0 為真。
AdUserDefined 用戶定義的變量長度數(shù)據(jù)類型。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdVariant 自動變體型。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdGuid 全域唯一標(biāo)識符。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdDate 自動日期。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdDBDate 數(shù)據(jù)庫日期數(shù)據(jù)結(jié)構(gòu)。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdDBTime 數(shù)據(jù)庫時間數(shù)據(jù)結(jié)構(gòu)。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdDBTimestamp 數(shù)據(jù)庫時間戳結(jié)構(gòu)。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdBSTR BSTR 的指針。關(guān)于該類型的詳細(xì)資料,請參閱“OLE DB 程序員參考”。
AdChar 定長字符串。
AdVarChar 變長字符串。
AdLongVarChar 長變長字符串。
AdWChar 寬定長字符串。
AdVarWChar 寬變長字符串。
AdLongVarWChar 長、寬變長字符串。
AdBinary 定長二進制數(shù)據(jù)。
AdVarBinary 變長二進制數(shù)據(jù)。
AdLongVarBinary 長變長二進制數(shù)據(jù)。
地址:山東省濰坊奎文區(qū)新華路樂川街華誼大廈三樓
網(wǎng)址:http://www.baohezhiyao.com/ 垂詢電話:
網(wǎng)站備案:魯ICP備14027302號-5
copyright© 濰坊華邦網(wǎng)絡(luò)有限公司2011-2025