深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

怎样把数据库结构显示出来的源代码


March 25,2004
通过以上的代码即可显示表的结构,字段类型,长度,自动编号,主健。如果你仔细研究后就可以发现如何远程改变数据库的结构了,祝你好运!

要查看此演示,需要你建立一个数据源,request("table")改为你的表的名字。
<html>
<head>
<title>main</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#CCCCCC" text="#000000">
<h2 align="center"><font face="华文新魏">欢迎查看chenyangasp演示程序</font></h2>
<p>
<%
on error resume next
table=request("table")
//获得表名
if table<>"" then
  response.write "数据表:"&table
Set primary = con.OpenSchema(adSchemaPrimaryKeys, _
        Array(empty, empty, table))
if primary("COLUMN_NAME")<>"" then
primarykey=primary("COLUMN_NAME")
end if
primary.close
set primary=nothing
%>
</p>
<center>
  <table width="650" border="1" cellpadding="0" cellspacing="0">
    <tr bgcolor="#CCCCCC">
      <th class="sundog" width="61">
        <div align="center">字段</div>
      </th>
      <th class="sundog" width="131">
        <div align="center">类型</div>
      </th>
      <th class="sundog" width="105">
        <div align="center">设定大小</div>
      </th>
      <th class="sundog" width="69">
        <div align="center">允许空值</div>
      </th>
      <th class="sundog" width="69">
        自动编号
      </th>
      <th class="sundog" width="81">主键</th>
      </tr>
<%sql="select * from ["&table&"] "
  set rs=con.execute(sql)
  for i=0 to rs.fields.count-1
%>
    <tr bgcolor="#CCCCCC">
      <td class="sundog" height="2" width="61">
        <div align="center"><%=rs(i).name%></div>
//字段名      
</td>
      <td class="sundog" height="2" width="131">
        <div align="center">
          <%
field_type=rs(i).type
select case field_type
    case adEmpty
      typ = "Empty"
    case adTinyInt
      typ = "TinyInt"
    case adSmallInt
      typ = "SmallInt"
    case adInteger
      typ = "Integer"
    case adBigInt
      typ = "BigInt"
    case adUnsignedTinyInt
      typ = "UnsignedTinyInt"
    case adUnsignedSmallInt
      typ = "UnsignedSmallInt"
    case adUnsignedInt
      typ = "UnsignedInt"
    case adUnsignedBigInt
      typ = "UnsignedBigInt"
    case adSingle
      typ = "Single"
    case adDouble
      typ = "Double"
    case adCurrency
      typ = "Currency"
    case adDecimal
      typ = "Decimal"
    case adNumeric
      typ = "Numeric"
    case adBoolean
      typ = "Boolean"
    case adError
      typ = "Error"
    case adUserDefined
      typ = "UserDefined"
    case adVariant
      typ = "Variant"
    case adIDispatch
      typ = "IDispatch"
    case adIUnknown
      typ = "IUnknown"
    case adGUID
      typ = "GUID"
    case adDATE
      typ = "DATE"
    case adDBDate
      typ = "DBDate"
    case adDBTime
      typ = "DBTime"
    case adDBTimeStamp
      typ = "DBTimeStamp"
    case adBSTR
      typ = "BSTR"
    case adChar
      typ = "Char"
    case adVarChar
      typ = "VarChar"
    case adLongVarChar
      typ = "LongVarChar"
    case adWChar
      typ = "WChar"
    case adVarWChar
      typ = "VarWChar"
    case adLongVarWChar
      typ = "LongVarWChar"
    case adBinary
      typ = "Binary"
    case adVarBinary
      typ = "VarBinary"
    case adLongVarBinary
      typ = "LongVarBinary"
    case adChapter
      typ = "Chapter"
    case adPropVariant
      typ = "PropVariant"
    case else
      typ = "Unknown"
  end select
response.write typ%>
//字段类型
       </div>
      </td>
      <td class="sundog" height="2" width="105">
        <div align="center"><%=rs(i).definedsize%></div>
      </td>
//字段长度

      <td class="sundog" height="2" width="69">
        <div align="center">
          <%
  attrib=rs(i).attributes
  if (attrib and adFldIsNullable)=0 then
    response.write "No"
  else
    response.write "Yes"
  end if
%>
        </div>
      </td>

//是否允许空值

      <td class="sundog" height="2" width="69">
        <div align="center">
<%if rs(i).Properties("ISAUTOINCREMENT") = True then%>
          <input type="checkbox" name="autoincrement" value="checkbox" checked>
<%else%>
          <input type="checkbox" name="autoincrement" value="checkbox">
<%end if%>        
        </div>
      </td>

//是否为自动编号

      <td class="sundog" height="2" width="81">
        <div align="center">
          <%if rs(i).name=primarykey then%>
          <input type="checkbox" name="primarykey" value="checkbox" checked>
          <%else%>
          <input type="checkbox" name="primarykey" value="checkbox">
          <%end if%>
        </div>
      </td>

//主健

     </tr>
    <%next %>
  </table>
</center>
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved