如何顯示數(shù)據(jù)庫的結(jié)構(gòu)

字號(hào):


    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body bgcolor="#CCCCCC" text="#000000">
    <h2>星河影動(dòng)之查看數(shù)據(jù)庫結(jié)構(gòu)</h2>
    <p>
    <%
    on error resume next
    table=request("table")
    ' 獲得表名.
    if table<>"" then
    response.write "數(shù)據(jù)表:"&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" cellpadding="0" cellspacing="0">
    <tr bgcolor="#CCCCCC">
    <th width="61">
    <div>字段</div>
    </th>
    <th width="131">
    <div>類型</div>
    </th>
    <th width="105">
    <div>設(shè)定大小</div>
    </th>
    <th width="69">
    <div>允許空值</div>
    </th>
    <th width="69">
    自動(dòng)編號(hào)
    </th>
    <th 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 height="2" width="61">
    <div><%=rs(i).name%></div>
    >
    ----------------------------------------------------------------------------------------------------------------
    ' 字段名.
    </td>
    <td height="2" width="131">
    <div>
    <%
    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 height="2" width="105">
    <div><%=rs(i).definedsize%></div>
    </td>
    ' 字段長度.
    <td height="2" width="69">
    <div>
    <%
    attrib=rs(i).attributes
    if (attrib and adFldIsNullable)=0 then
    response.write "No"
    else
    response.write "Yes"
    end if
    %>
    </div>
    </td>
    ----------------------------------------------------------------------------------------------------------------
    ' 是否允許空值.
    <td height="2" width="69">
    <div>
    <%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>
    ----------------------------------------------------------------------------------------------------------------
    ' 是否為自動(dòng)編號(hào).
    <td height="2" width="81">
    <div>
    <%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>