当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP获取ACCESS数据库表名及结构的代码

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP获取ACCESS数据库表名及结构的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 120 ::
收藏到网摘: n/a

此方法可获得ACCESS数据的表名及其结构,数据类型等... 程序过滤了几个ACCESS数据库的几个隐藏表(可能是导致ACCESS数据库删除数据还会变大的原因)
<html>
<head>
<title>获取ACCESS数据库表名_www.ruanchen.com</title>
</head>
<body style="text-align:left;margin-left:50px;font-family:'arial';font-size:12px">
<form style="padding:5px;margin:5px;margin-left:0px" name="get" action="" method="post">
数据库路径:<input type="text" name="path" value="" size="50" />
<input type="hidden" name="ari" value="1" />
<input type="submit" value="查看" />
</form>
<hr>
<%
if request.form("ari")="1" and request.form("path")<>"" then
dim conn,connstr,i,sql,rs
on error resume next
Connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ="+server.mappath(request.form("path"))
Set Conn=Server.CreateObject("ADODB.Connection")
conn.Open connstr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If
%>
<font color=red><%=conn.connectionstring%></font><hr>
<%
j=0
dim tablecount
tablecount=0
Set shm = conn.OpenSchema(20)
shm.MoveFirst
Do While Not shm.EOF
If shm("TABLE_TYPE") = "TABLE" Then
If Left(shm("table_name"), 1) <> "~" Then '这里过滤掉隐藏表
j=j+1
call GetFileds(shm("table_name"))
End If
End If
shm.MoveNext
Loop
response.write "共有 "&j&" 个数据表!"
else
response.write "<h3>请输入数据库相对路径查看具体内容!</h3>"
end if
%>
</body>
</html>
<%
Function GetFileds(TableName)
Set rs = server.createobject("adodb.recordset")
Dim SQL
SQL = "select * from " & TableName
rs.Open SQL, conn, 1, 1
Dim Cont
Cont = rs.Fields.Count
response.write "<div style=""margin-bottom:10px;padding:5px;border:1px #dddddd solid;background:#eeeeee"">"&vbcrlf
response.write "表 <font color=red><b>"&TableName&"</b></font> 中含有"&Cont&"个字段,具体如下:<br>"&vbcrlf
For i = 0 To Cont - 1
dim filtype
select case rs.fields(i).type
case 3
filtype="自动编号(数字)"
case 202
filtype="字符"
case 203
filtype="备注"
case 125
filtype="日期"
case 11
filtype="真/假(是/否)"
end select
response.write " <font color=red>"&i&"</font>--<font color=green><b>"&rs.fields(i).name&"</b></font>--"&filtype&";<br />"&vbcrlf
Next
response.write "</div>"&vbcrlf
rs.Close
set rs=nothing
End Function
%>