您所在的位置: 程序员家园 -> 家园博客 ->
 
在哪里摔倒
就在哪里自己爬起来

用户登录

查  找

最新评论

最新留言

常用网站

网易邮箱 GMAIL  

百度搜索 MSDN

霏凡软件 BT精品

影视帝国 射 手 网

电驴下载 全 库 网

友情连接

茄菲的窝 冰冰博客

枫叶飘零 玫  瑰

ACEN 云 豹 子

统  计



列出数据库里所有用户表的结构 
狼子 发表于 2006-12-25 19:16:00 阅读全文 | 回复(0) | 引用通告 | 编辑

对应的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>&nbsp;</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>

发表评论:

    昵称:
    密码:
    主页:
    标题:
Powered by Oblog.