ASP遍历Access数据库表结构
源码如下:
<%
Acc_db = "db.mdb"  
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Acc_db)  
Set conn = CreateObject("ADODB.Connection")
conn.CursorLocation = 3 
conn.open connstr
%>
<%Set RST = conn.OpenSchema(20)
  Do Until RST.EOF 
   response.write "表:"&RST("TABLE_NAME")&"  类型:"&RST("TABLE_TYPE")&"<br>"
   
 if RST("TABLE_TYPE")="TABLE" then %>
   <br/>  
<table border="1" width="100%" cellspacing="0" cellpadding="0">
  <tr height=25>
   <td align=center bgcolor="#ECF2FC">字段名</td>
   <td align=center bgcolor="#ECF2FC">属性</td>
   <td align=center bgcolor="#ECF2FC">允许长度或取值范围</td>
   </tr><tr>
<%
set rs=conn.execute("select * from "& RST("TABLE_NAME") ) 
 'rs.open   sql,conn,3,1
 for i=0 to rs.fields.count-1   
 response.write("<td align=center><font color=blue>"&rs.fields(i).name&"</font></td>")
  
action=rs.fields(i).type 
select case action
case"2" thetypename="<font color=red>整型数字</font>"
case"3" thetypename="<font color=red>自动编号</font>"
case"4" thetypename="<font color=ff9933>单精度型数字</font>"
case"7" thetypename="<font color=66ff33>日期/时间</font>"
case"11" thetypename="<font color=009933>逻辑是否型</font>"
case"202" thetypename="<font color=996633>有限长文本型</font>"
case"203" thetypename="备注文本型"
end select           
response.write("<td align=center>"&thetypename&"</td>")
if rs.fields(i).type=2 then yxcd="-32768~32767"
if rs.fields(i).type=4 then yxcd="-3.4E38~3.4E38"
if rs.fields(i).type=7 then  yxcd="常规时间"
if rs.fields(i).type<>2 and rs.fields(i).type<>4 and rs.fields(i).type<>7 then yxcd=rs.fields(i).DefinedSize
 response.write("<td align=center>"&yxcd&"</td>")
response.write("</tr><tr>")
      next   
      rs.close   
      set rs=nothing  
           
%>
</table>
<%end if
RST.MoveNext 
Loop 
RST.close
Set RST = nothing
conn.close
set conn = nothing%>