adox类
<!--#include virtual="/include/conn.inc"-->
<%
'*********************************
'* classname: dbopr
'* 制作人: 刘晓逸
'* 作用: 用adox进行数据库的操作
'* 版本: 1.0
'**********************************
class dbopr
dim obj_adox
Private Sub Class_Initialize
set obj_adox=Server.createobject("ADOX.Catalog")
' obj_adox.ActiveConnection=connstr
end sub
Public Property let connection(obj_conn)
obj_adox.ActiveConnection=obj_conn
End Property
public function arr_tname
dim tnames()
dim i : i=1
for each objtab in obj_adox.tables
if objtab.type="TABLE" then
redim Preserve tnames(i)
tnames(i-1)=objtab.name
i=i+1
end if
next
arr_tname=tnames
end function
public function arr_finfo(str_tname)
dim arr_f()
set obj_tadox=obj_adox.tables.item(str_tname)
for i=0 to obj_tadox.columns.count-1
set dic_info=server.createobject("scripting.dictionary")
redim preserve arr_f(i+1)
dic_info.add "name",obj_tadox.columns.Item(i).name
dic_info.add "type",type_int2str(obj_tadox.columns.Item(i).type)
set arr_f(i)=dic_info
set dic_info=nothing
next
arr_finfo=arr_f
end function
public sub del_table(str_tname)
obj_adox.tables.delete str_tname
End Sub
public sub add_table(str_tname)
set obj_tab=Server.CreateObject("ADOX.Table")
obj_tab.Name=str_tname
set obj_tab.ParentCatalog=obj_adox
obj_adox.tables.Append obj_tab
set obj_tab=nothing
End Sub
public sub del_columns(arr_columns,str_tname)
set obj_tab=obj_adox.tables.item(str_tname)
if isarray(arr_columns) then
for i=0 to ubound(arr_columns)
obj_tab.columns.delete arr_columns(i)
next
else
obj_tab.columns.delete arr_columns
end if
end sub
public sub add_columns(arr_columns,str_tname)
set obj_tab=obj_adox.tables.item(str_tname)
for i=0 to ubound(arr_columns)
obj_tab.columns.append arr_columns(i,0),arr_columns(i,1),arr_columns(i,2)
next
end sub
function type_int2str(int_value)
select case int_value
case 3:
type_int2str="数字"
case 202:
type_int2str="文本"
case else:
type_int2str=int_value
end select
end function
Private Sub Class_Terminate
set obj_adox=nothing
End Sub
End class
%>
public function arr_finfo(str_tname)
dim arr_f()
set obj_tadox=obj_adox.tables.item(str_tname)
for i=0 to obj_tadox.columns.count-1
set dic_info=server.createobject("scripting.dictionary")
redim preserve arr_f(i+1)
dic_info.add "name",obj_tadox.columns.Item(i).name
dic_info.add "type",type_int2str(obj_tadox.columns.Item(i).type)
set arr_f(i)=dic_info
set dic_info=nothing
next
arr_finfo=arr_f
end function
列出了表中所有的列名 和 属性
本文介绍了一个使用ADOX进行数据库操作的类实现,包括创建、删除表及字段等操作,并展示了如何获取表中的所有列名及其属性。
407

被折叠的 条评论
为什么被折叠?



