注册 登录
编程论坛 ASP技术论坛

高手来啊!怎样获取数据库中所有表的表名?

xiangchun3 发布于 2008-09-20 10:57, 1270 次点击
我现在用的是ASP在操作Excel,有什么方法能获取到所有表的表名?
我想操作Excel和操作数据库差不多,大家有什么方法?获取数据库的所有表名也行!
感激不尽!
5 回复
#2
yms1232008-09-20 12:10
什么数据库?
#3
xiangchun32008-09-20 12:20
随便什么都行,只是想知道有没有这个方法,
我是在对Excel做操作
#4
yms1232008-09-20 12:23
数据库不同获取表名的方法也是不一样的
#5
xiangchun32008-09-20 12:25
要不你就写ACCESS的吧
#6
yms1232008-09-20 13:01
Function ReDBTableCount(rsSchema)
       Dim DbTCount
       DbTCount=0
       Do Until rsSchema.EOF
          DbTCount=DbTCount+1
          rsSchema.MoveNext
       Loop
       rsSchema.MoveFirst
       ReDBTableCount=DbTCount
    End Function
    '返回数据库所有表名方法(适用于Access数据库)
    '参数ADODB.Connection ,Dim定义的数组
    Function ReDBAllTableName(con,TbNAry())
       Dim rsSchema
       Dim TbAryL
       TbAryL=0
       Set rsSchema=con.OpenSchema(20)
       ReDim TbNAry(ReDBTableCount(rsSchema))
       Do Until rsSchema.EOF
          IF TbAryL<UBound(TbNAry) Then
             IF InStr(rsSchema("TABLE_NAME"),"MSys")=0 And InStr(rsSchema("TABLE_NAME"),"查询")=0 Then
                TbNAry(TbAryL)=rsSchema("TABLE_NAME")
             Else
                TbNAry(TbAryL)=""
             End IF   
          End IF
          TbAryL=TbAryL+1
          rsSchema.MoveNext
       Loop
       rsSchema.Close
       Set rsSchema=Nothing
    End Function
'用法
'假设conn为ADODB.Connection
Dim i,TBNAry()
ReDBAllTableName conn,TBNAry
For i=0 To UBound(TBNAry)-1
    IF TBNAry(i)<>"" Then
       Response.Write "表名:"&TBNAry(i)&"<br>"
    End IF    
Next
1