asp adox数据库操作类

本文介绍了一个使用ADOX进行数据库操作的类实现,包括创建、删除表及字段等操作,并展示了如何获取表中的所有列名及其属性。

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

列出了表中所有的列名 和 属性 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值