对应的SQL语句在这里user1/9/archives/2006/2620.html
我这里写的是一个asp文件,运行这个asp文件,可以列出整个数据库里所有用户表的结构,有时候如果先建好数据库,再取数据字典可以直接用这个asp文件取,修改蓝色那句数据库连接信息就可以用了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>数据库结构</title>
<style type="text/css">
td{ font-family: 宋体;font-size: 12px;line-height: 15px; }
p{ font-family: 宋体;font-size: 12px;line-height: 15px; }
</style>
</head>
<body>
<%
Set Conn = Server.CreateObject ("ADODB.Connection")
Conn.open "driver={SQL Server};NETWORK=DBMSSOCN;server=服务器名;uid=用户名;pwd=密码;database=数据库名;"
sql1="select name from sysobjects where type='U' and name<>'dtproperties' order by name"
set rs1=conn.execute(sql1)
do while not rs1.eof
tablename=rs1("name")
response.write("<p align='center'>" &tablename& "表")
getColumn(tablename)
rs1.movenext
loop
rs1.close
set rs1=nothing
conn.close
set conn=nothing
function getColumn(tablename)
sql2="select syscolumns.name as columnname,systypes.name as columntype,syscolumns.prec,syscomments.text,isnullable,isadc=case syscolumns.status when 128 then 1 else 0 end,sysproperties.value "
sql2=sql2& " from syscolumns "
sql2=sql2& " inner join sysobjects on syscolumns.id=sysobjects.id "
sql2=sql2& " and sysobjects.xtype='U' and sysobjects.status>0"
sql2=sql2& " and sysobjects.name='" &tablename& "'"
sql2=sql2& " inner join systypes on syscolumns.xtype=systypes.xtype"
sql2=sql2& " left join syscomments on syscolumns.cdefault=syscomments.id"
sql2=sql2& " left join sysproperties on syscolumns.colid = sysproperties.smallid and sysproperties.id=sysobjects.id"
sql2=sql2& " order by syscolumns.id"
set rs2=conn.execute(sql2)
response.write("<table width='778' border='1' align='center' cellpadding='2' cellspacing='0' bordercolor='#0099CC' style='border-collapse: collapse'>")
response.write("<tr align='center'><td>描述</td><td>字段名</td><td>字段类型</td><td>精度</td><td>默认值</td><td>是否允许null值</td></tr>")
do while not rs2.eof
response.write("<tr>")
if isnull(rs2("value")) then
response.write("<td> </td>")
else
response.write("<td>" &cstr(rs2("value"))& "</td>")
end if
if cint(rs2("isadc"))=1 then
response.write("<td><font color='#FF0000'>" &rs2("columnname")& "</font></td>")
else
response.write("<td>" &rs2("columnname")& "</td>")
end if
response.write("<td>" &rs2("columntype")& "</td>")
response.write("<td align='center'>" &rs2("prec")& "</td>")
response.write("<td>" &rs2("text")& "</td>")
response.write("<td align='center'>")
if cint(rs2("isnullable"))=1 then
response.write("√")
else
response.write("×")
end if
response.write("</td>")
response.write("</tr>")
rs2.movenext
loop
rs2.close
set rs2=nothing
response.write("</table>")
end function
%>
</body>
</html>