ADO學習(七)ADOX相關知識

2021-07-01 18:30:18 字數 3787 閱讀 5008

microsoft? activex? data objects extensions for data definition language and security (adox) 是對 ado 物件和程式設計模型的擴充套件。adox 包括用於模式建立和修改的物件,以及安全性。由於它是基於物件實現模式操作,所以使用者可以編寫對各種資料來源都能有效執行的**,而與它們原始語法中的差異無關。 

adox 是核心 ado 物件的擴充套件庫。它顯露的其他物件可用於建立、修改和刪除模式物件,如**和過程。它還包括安全物件,可用於維護使用者和組,以及授予和撤消物件的許可權。 

要通過開發工具使用 adox,需要建立對 adox 型別庫的引用。對 adox 庫的說明為「microsoft ado ext. for ddl and security.」。adox 庫檔名為「msadox.dll」,程式 id (progid) 為「adox」。有關建立庫引用的詳細資訊,請參閱開發工具的文件。 

二、adox 物件 

catalog 包含描述資料來源模式目錄的集合。 

column 表示表、索引或關鍵字的列。 

group 表示在安全資料庫內有訪問許可權的組帳號。 

index 表示資料庫表中的索引。 

key 表示資料庫表中的主關鍵字、外部關鍵字或唯一關鍵字。 

procedure 表示儲存的過程。 

table 表示資料庫表,包括列、索引和關鍵字。 

user 表示在安全資料庫內具有訪問許可權的使用者帳號。 

view 表示記錄或虛擬表的過濾集。 

三、adox 方法 

changepassword 更改使用者帳號的密碼。  

create 建立新的目錄。  

delete 刪除集合中的物件。  

getobjectowner 返回目錄中物件的擁有者。  

getpermissions 獲得物件上組或使用者的許可權。  

item 按名稱或序號返回集合的指定成員。  

refresh 更新集合中的物件,以反映針對提供者可用的和指定的物件。  

setobjectowner 指定目錄中物件的擁有者。  

setpermissions 設定物件上組或使用者的許可權。  

四、adox 屬性 

activeconnection 指示目錄所屬的 ado connection 物件。  

attributes 描述列特性。  

clustered 指示索引是否被分簇。  

command 指定可用於建立或執行過程的 ado command 物件。  

count 指示集合中的物件數量。  

datecreated 指示建立物件的日期。  

datemodified 指示上一次更改物件的日期。  

definedsize 指示列的規定最大大小。  

deleterule 指示主關鍵字被刪除時將執行的操作。  

indexnulls 指示在索引欄位中有 null 值的記錄是否有索引項。  

name 指示物件的名稱。  

numericscale 指示列中數值的範圍。  

parentcatalog 指定表或列的父目錄以便訪問特定提供者的屬性。  

precision 指示列中資料值的最高精度。  

primarykey 指示索引是否代表表的主關鍵字。  

relatedcolumn 指示相關表中相關列的名稱(僅關鍵字列)。  

relatedtable 指示相關表的名稱。  

sortorder 指示列的排序順序(僅索引列)。  

type(列) 指示列的資料型別。  

type(關鍵字) 指示關鍵字的資料型別。  

type(表) 指示表的型別。  

unique 指示索引關鍵字是否必須是唯一的。  

updaterule 指示主關鍵字被更新時會執行的操作。  

五、範例 

5.1 建立資料庫範例 

如下**顯示如何通過 create 方法建立新的 jet 資料庫。 

sub createdatabase() 

dim cat as new adox.catalog 

cat.create "provider=microsoft.jet.oledb.4.0;data source=c:\new.mdb" 

end sub 

5.2 建立表範例 

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" 

end sub 

5.3 建立索引範例 

如下**演示如何建立新的索引。索引針對表的兩個列建立。 

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" 

' 定義多列索引 

idx.name = "multicolidx" 

' 將索引追加到表上 

end sub 

5.4 建立關鍵字範例 

如下**演示如何建立新的外部關鍵字。假定已存在兩個表(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("customerid").relatedcolumn = "customerid" 

kyforeign.updaterule = adricascade 

end sub 

****************************************==

最近偶然要做乙個小型的資料庫管理系統,為了方便使用者無需自己用access建立資料庫,所以,我必須設法讓程式能夠建立資料庫,資料庫表以及判斷資料庫表的存在

jQuery Ajax 相關知識七

ajax 事件 1 ajaxcomplete callback ajax 請求完成時執行函式。ajax 事件。xmlhttprequest 物件和設定作為引數傳遞給 函式。callbackfunction 待執行函式 描述 ajax 請求完成時執行函式。jquery msg ajaxcomplete...

學習record相關知識

概念 當使用元組進行程式設計的時候,如果過於龐大的元素數量,將會很難記住。record提出來,是用於提供c語言裡面的一種類似structure的乙個有著固定數目字段的資料結構。記錄定義 record person,構造乙個record p1 person.例項 author erlang.hell ...

WinCE學習相關知識

知識一 activesync不能連線開發板的知識 1 剛開始正常連線,多次使用後出現不能連線的知識,清除wince登錄檔 2 不能連線的知識 pc是xp。知識二 wm timer優先順序與精度 1 wm timer訊息處理的優先順序比較低,同wm paint,一般來說,只有等訊息佇列沒有其他訊息時,...