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

获取数据库所有表的表名

sunliantong 发布于 2012-11-09 23:27, 558 次点击
程序代码:
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
3 回复
#2
ysf01812012-11-10 14:20
我测试过了,SQL2000 下,也可以执行。
#3
阳大爷2012-12-06 09:26
不错
#4
q3735878662012-12-11 09:22
全力支持一下
1