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

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

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

要查看此演示,需要你建立一个数据源,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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有