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

2018-09-06 13:11

阅读:479

  
<html>
<head>
<title>获取ACCESS数据库表名_
</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))
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
Next
response.write </div>&vbcrlf
rs.Close
set rs=nothing
End Function
%>


评论


亲,登录后才可以留言!