`

Sql Server如何得到数据库中所有表的列表

阅读更多
引用
csdn许多网友问怎样列出数据库有所有表及表信息,下面这段程序正是你所想要的


程序思想:用SELECT name From sysobjects WHERE xtype = 'u'得到所有表,然后循环打开表,根据Rs_Colums.Fields(I).Name   得到字段名,FieldType(Rs_Colums.Fields(I).Type)  得到字段类型,Rs_Colums.Fields(I).DefinedSize  '宽度

由于Rs_Colums.Fields(I).Type返回类型是数字,程序中写了一个FieldType函数转化成中文类型

Private Sub Command1_Click()
Dim Cn As New ADODB.Connection
Dim Rs_Table As New ADODB.Recordset
Dim Rs_Colums As New ADODB.Recordset

    With Cn   '定义连接
        .CursorLocation = adUseClient
        .Provider = "sqloledb"
        .Properties("Data Source").Value = "LIHG"
        .Properties("Initial Catalog").Value = "NorthWind"
        .Properties("User ID") = "sa"
        .Properties("Password") = "sa"
        .Properties("prompt") = adPromptNever
        .ConnectionTimeout = 15
        .Open
        
        If .State = adStateOpen Then
            Rs_Table.CursorLocation = adUseClient   '得到所有表名
            Rs_Table.Open "SELECT name From sysobjects WHERE xtype = 'u'", Cn, adOpenDynamic, adLockReadOnly
            Rs_Table.MoveFirst
            Do While Not Rs_Table.EOF
                Debug.Print Rs_Table.Fields("name")
                Rs_Colums.CursorLocation = adUseClient
                Rs_Colums.Open "select top 1 * from [" & Rs_Table.Fields("name") & "]", Cn, adOpenStatic, adLockReadOnly
                For I = 0 To Rs_Colums.Fields.Count - 1   ' 循环所有列
                    Debug.Print Rs_Colums.Fields(I).Name   '字段名
                    Debug.Print FieldType(Rs_Colums.Fields(I).Type)  '字段类型
                    Debug.Print Rs_Colums.Fields(I).DefinedSize  '宽度
                Next
                Rs_Colums.Close
                Rs_Table.MoveNext
            Loop
            Rs_Table.Close
            Set Rs_Colums = Nothing
            Set Rs_Table = Nothing
        
        Else
            MsgBox "数据库连接失败,请找系统管理员进行检查 !", 16, cProgramName
            End
        End If
    End With
End Sub

'*********************************************************
'* 名称:FieldType
'* 功能:返回字段类型
'* 用法:FieldType(nType as integer)
'*********************************************************
 Function FieldType(nType As Integer) As String
    Select Case nType
        Case 128
            FieldType = "BINARY"
        Case 11
            FieldType = "BIT"
        Case 129
            FieldType = "CHAR"
        Case 135
            FieldType = "DATETIME"
        Case 131
            FieldType = "DECIMAL"
        Case 5
            FieldType = "FLOAT"
        Case 205
            FieldType = "IMAGE"
        Case 3
            FieldType = "INT"
        Case 6
            FieldType = "MONEY"
        Case 130
            FieldType = "NCHAR"
        Case 203
            FieldType = "NTEXT"
        Case 131
            FieldType = "NUMERIC"
        Case 202
            FieldType = "NVARCHAR"
        Case 4
            FieldType = "REAL"
        Case 135
            FieldType = "SMALLDATETIME"
        Case 2
            FieldType = "SMALLMONEY"
        Case 6
            FieldType = "TEXT"
        Case 201
            FieldType = "TIMESTAMP"
        Case 128
            FieldType = "TINYINT"
        Case 17
            FieldType = "UNIQUEIDENTIFIER"
        Case 72
            FieldType = "VARBINARY"
        Case 204
            FieldType = "VARCHAR"
        Case 200
            FieldType = ""
    End Select
End Function

此程序只是一个雏形,可以在此基础上开发成一个工具使用

本程序在:VB 6.0  ,SQL SERVER 2000下运行通过

注程序中须引用ActiveX Data Objects (ADO)
分享到:
评论

相关推荐

    查看SQLServer数据库每个表占用的空间大小.sql

    快捷方便,可查看sqlserver数据库每个表的使用情况,一次下载终身使用,此文件为sql语句格式,免费试用

    sql server 2008数据库转sql server 2005数据库

    "sql server 2008数据库转sql server 2005数据库" 本文将详细介绍四种将 SQL Server 2008 数据库转换为 SQL Server 2005 数据库的方法。这些方法都是通过实践和总结得出的,旨在帮助读者快速、可靠地将 SQL Server ...

    获得SQLServer所有数据库名称

    在SQL Server中,获取所有数据库名称是常见的管理任务,这对于监控、备份或者执行跨数据库操作时非常有用。本文将详细讲解如何在SQL Server环境下获取所有数据库的名称,以及实例名的相关概念。 首先,我们需要理解...

    SQLServer2008附加SQLServer2005数据库

    例如,从 SQL Server 2005 升级到 SQL Server 2008 的过程中,如何将原有的 SQL Server 2005 数据库顺利附加到 SQL Server 2008 上就是一个常见的需求。本文将详细介绍如何在 SQL Server 2008 上成功附加 SQL Server...

    SQL Server 2014数据库项目案例教程习题参考答案

    "SQL Server 2014数据库项目案例教程习题参考答案" 本资源是一个关于 SQL Server 2014 数据库项目案例教程习题参考答案的集合,涵盖了数据库设计、E-R 图、关系模型、SQL Server 2014 数据库管理系统、身份验证、...

    kepserver读取SQL Server数据库

    在本文中,我们将深入探讨如何使用KEPServer来读取SQL Server数据库的具体步骤。 首先,打开KEPServer软件并创建一个新的通道。选择"ODBC Client"作为数据源类型,因为我们需要通过ODBC(Open Database ...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件...

    如何查看sql server数据库连接数

    2. 在下面的项目中选择用户连接(User Connection),这样就可以实时查询到 SQL Server 数据库连接数。 方法二:通过系统表查询 可以通过系统表来查询 SQL Server 数据库连接数。具体步骤如下: 1. 使用以下查询...

    sqlserver数据库SSH配置1

    在 Java 应用程序中,需要使用 JDBC 驱动来连接 SQLServer 数据库。JDBC 驱动需要配置 SSH tunnelling,以便通过 SSH 服务器连接数据库。 4. 配置 Hibernate Hibernate 是一个流行的 ORM 框架,用于将 Java 对象...

    查询SQLSERVER数据库中各表大小和空间的存储过程

    查询SQLSERVER数据库中各表大小和空间的存储过程,用这个SQL创建一个存储过程。然后执行这个存储过程。即可查询各表的相关信息。

    利用MysqlODBC把Sqlserver数据库导入到Mysql中

    将mysql数据库转换为sql server的数据库,或者将sql server数据库转换为mysql的数据库,在nt环境下很多时候都会用到。使用mysql odbc后就比较好办,可以使用sql server的管理工具,也可以使用mysql的管理工具,更可以...

    SQL Server 2000数据库教程(华夏学院)

    由16章构成,主要内容包括:SQL Server 2000概述、SQL Server 2000安装和配置、SQL Server 2000工具、数据库系统基础、SQL Server 2000数据类型、SQL Server 2000数据库创建与管理、SQL Server 2000数据库表的创建和...

    C# 开发SQLSERVER数据库自动建表

    标题“C# 开发SQLSERVER数据库自动建表”表明我们将讨论一个使用C#开发的程序,该程序可以自动化创建SQL Server数据库中的表结构。这个功能对于数据导入、系统初始化或简化数据库管理流程非常有用。 描述中提到,该...

    SQL Server查看所有表大小,所占空间

    用SQL语句查看SQL Server中的数据库查看所有表大小,所占空间

    MFC连接SQL Server数据库

    在实际应用中,SQL Server数据库可能位于远程服务器上。这时,我们需要在连接字符串中指定服务器的IP地址和端口号,以便实现远程连接。例如: `m_pConnection->Open("driver={SQLServer};Server=192.168.1.100,1433...

    解决SQL Server数据库中附加数据库的出错问题

    解决 SQL Server 数据库中附加数据库的出错问题 在本文中,我们将详细介绍解决 SQL Server 数据库中附加数据库的出错问题。该问题通常会在执行 sp_attach_db 或 sp_attach_single_file_db 时出现,提示错误 1813:...

    SQL SERVER自动导出Word数据库文档

    在SQL SERVER环境中,有时我们需要将数据库的信息以报告的形式呈现,比如导出为Word文档,方便阅读和分享。"SQL SERVER自动导出Word数据库文档"这一功能就满足了这样的需求。这个功能主要应用于SQL SERVER 2000、...

    sql server 数据库导入导出方法

    SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍 SQL Server 数据库导入导出的方法...

    SQL Server 2005数据库简明教程PPT

    本书具有很强的操作性和实用性,可作为高等院校、高职学校“SQL Server数据库原理与应用”课程的教材,或社会培训班“SQL Server 2005”的基础入门教材,同时对从事数据库开发和管理的人员也具有较高参考价值。

Global site tag (gtag.js) - Google Analytics