asp查看SQL Server数据库所有表和表结构asp

/ / 2025-02-27   阅读:2560
asp查看SQL Server数据库所有表和表结构...
<%
' 连接数据库
Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=SQLOLEDB;Data Source=你的服务器名;Initial Catalog=你的数据库名;User ID=你的用户名;Password=你的密码"
conn.Open

' 创建 Command 对象
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn

' 查询所有表,并按表名排序
cmd.CommandText = "SELECT name FROM sys.tables ORDER BY name"
Set rsTables = cmd.Execute
%>
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据库表结构展示</title>
    <style>
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #f4f4f9;
            margin: 0;
            padding: 20px;
        }

        h3 {
            color: #333;
            margin-top: 30px;
            margin-bottom: 10px;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            background-color: #fff;
        }

        th,
        td {
            padding: 12px 15px;
            text-align: left;
            border-bottom: 1px solid #ddd;
        }

        th {
            background-color: #007BFF;
            color: white;
        }

        tr:hover {
            background-color: #f5f5f5;
        }
    </style>
</head>

<body>
    <h1 style="text-align: center; color: #333;">数据库表结构信息</h1>
    <%
    ' 遍历每个表
    Do While Not rsTables.EOF
        tableName = rsTables("name")
    %>
    <h3>表名:<%= tableName %></h3>
    <table>
        <tr>
            <th>列名</th>
            <th>数据类型</th>
            <th>是否可为空</th>
            <th>字符最大长度</th>
        </tr>
        <%
        ' 查询当前表的列信息
        cmd.CommandText = "SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, CHARACTER_MAXIMUM_LENGTH " & _
                          "FROM INFORMATION_SCHEMA.COLUMNS " & _
                          "WHERE TABLE_NAME = '" & tableName & "'"
        Set rsColumns = cmd.Execute
        
        ' 遍历列信息并显示在表格中
        Do While Not rsColumns.EOF
            columnName = rsColumns("COLUMN_NAME")
            dataType = rsColumns("DATA_TYPE")
            isNullable = rsColumns("IS_NULLABLE")
            charMaxLength = rsColumns("CHARACTER_MAXIMUM_LENGTH")
            If IsNull(charMaxLength) Then
                charMaxLength = "N/A"
            End If
        %>
        <tr>
            <td><%= columnName %></td>
            <td><%= dataType %></td>
            <td><%= isNullable %></td>
            <td><%= charMaxLength %></td>
        </tr>
        <%
            rsColumns.MoveNext
        Loop
        rsColumns.Close
        %>
    </table>
    <%
        rsTables.MoveNext
    Loop
    rsTables.Close
    
    ' 关闭连接和对象
    conn.Close
    Set conn = Nothing
    Set cmd = Nothing
    %>
</body>

</html>


我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈