`
hred
  • 浏览: 44830 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

列出数据库所有表和字段信息

阅读更多
程序思想:用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)
分享到:
评论

相关推荐

    Java源码获取数据库中表的字段信息

    在提供的压缩包文件中,"说明.txt"可能包含了更详细的步骤或注意事项,而"获取数据库中表的字段信息"可能是具体的Java源代码示例,你可以结合这两个文件来更好地理解和实现这一功能。在实际开发中,这些知识将帮助你...

    列出sqlserver数据库各表的字段信息

    pb6.5利用sqlserver系统表实现各表结构显示

    任意数据库连接、表、字段名获取

    这将返回数据库中所有表的名称。不同的数据库系统可能有不同的信息模式视图来提供此类元数据。 4. **字段名获取**:获取表的字段名需要查询数据库的元数据,通常是通过`INFORMATION_SCHEMA.COLUMNS`视图。在这里,...

    VC 实例:列出Access数据库指定表的字段名称.rar

    VC 列出Access数据库指定表的字段名称,这对于我们在做一些数据库编程时是有一些帮助的,尤其是新手程序员,更是有用,烈火下载小编专门在数据库中添加了几个中文字段,发现也是可以的,还有一个小功能,可以使用...

    为数据库表设计可扩展的字段

    在数据库设计中,确保表结构具有良好的扩展性是至关重要的,因为这直接影响到系统的灵活性、维护...通过灵活运用范式理论、EAV模型、扩展字段和ORM工具,我们可以创建出既适应当前需求,又能适应未来变化的数据库设计。

    数据库字段导出工具

    1. **字段查看与导出**:工具能够列出选定数据库表中的所有字段及其详细信息,如字段名、数据类型、长度、默认值等,并支持将这些信息导出为Excel文件。这在需要对数据库结构进行分析、报告或者与其他系统进行数据...

    在EXCEL中比较数据库表的字段是否一致

    在Excel中比较数据库表的字段是否一致是一项常见的数据验证任务,尤其在数据分析和数据库管理中。这个过程涉及到从Excel文件中提取数据,并进行对比分析,确保两个数据源的一致性。下面将详细介绍如何进行这样的操作...

    Oracle数据库表建立字段唯一性的方法

    在Oracle数据库中,确保表中特定字段具有唯一性是数据完整性的重要方面。这可以通过创建唯一约束或唯一索引来实现。以下是对"Oracle数据库表建立字段唯一性方法"的详细解释: 1. **唯一约束(Unique Constraint)**...

    WOW数据库对照表.rar

    1. 数据库表格:列出所有重要的数据库表格,以及它们的主要作用。 2. 字段解释:每个表格的字段都有对应的描述,解释了这个字段在游戏中的功能和用途。 3. 编码解析:数据库中很多数据是以编码形式存储的,对照表会...

    SQL-根据数据库表名自动生成表中字段工具

    它允许用户输入表名,然后自动生成该表的所有字段信息,以`INSERT INTO`和`UPDATE`语句的形式展示,极大地提高了开发和测试的效率。 首先,我们来详细解释一下这个工具的功能和背后的SQL知识点: 1. **表结构获取*...

    20120101列出时刻表数据库

    标题中的“20120101列出时刻表数据库”指的是一个包含了2012年1月1日当天列车时刻表信息的数据库。在IT领域,这样的数据库通常用于存储和管理公共交通系统的运行时间信息,方便旅客查询和规划行程。数据库设计时,...

    读取数据库字段备注

    例如,你可以创建一个脚本来遍历所有表的所有列,将这些信息导出到一个报告或者Excel表格中,以便团队成员参考。 在文档`数据库字段备注如何读取呢.doc`中,很可能是对这个存储过程的详细说明,包括如何调用、返回...

    获取数据库表名和字段名.rar

    `(大多数数据库系统)来获取表的字段信息。 - 数据库元数据:大多数数据库系统提供了元数据API,允许程序获取表的详细信息,包括字段名。 - ORM框架:通过查询映射配置或运行时反射,ORM框架也能提供字段名。 4....

    用友U8数据库对照表(8.5)

    数据库对照表(8.5).xls文件详细列出了8.5版本中各个数据库表的字段名、字段类型、字段长度以及中文解释。这些信息可以帮助用户: - **快速定位数据**:通过字段名和中文解释,能迅速找到存储特定信息的数据库...

    SQL数据库查看器 可创建字段 查看表

    3. 表的查看:用户可以查看数据库中的各个表,列出所有字段及其数据类型、键约束等信息。此外,还支持查询特定表的数据,以表格形式显示结果。 4. 创建字段:在数据库查看器中,用户可以方便地为现有表添加新的字段...

    对比两个数据库的字段是否一致 源码 (可对比两个数据库的一个或多个表或者所有表)

    使用者可以根据自己的需求,如指定对比特定的表或所有表,对这个程序进行调用和配置。通过这样的工具,我们可以快速定位并解决数据库结构不一致的问题,保证数据迁移或同步的准确性。 总的来说,对比两个数据库的...

    SQLite数据库中如何列出所有的表和索引.docx

    以下是关于如何列出SQLite数据库中所有表和索引的详细步骤和解释。 首先,通过命令行访问SQLite数据库是最直接的方式。当你启动`sqlite3`命令行工具并连接到一个数据库时,你可以使用以下命令: 1. `.tables`:这...

    SQLite数据库中如何列出所有的表和索引.pdf

    SQLite提供了一些内置的方法来查看数据库中的所有表和索引,这对于数据库的管理和调试非常有用。以下是详细的操作步骤和解释: 1. **列出所有表**: 在命令行环境中,如果你已经通过`sqlite3`命令进入了某个SQLite...

    Sql查询MySql数据库中的表名和描述表中字段(列)信息

    在MySQL数据库管理中,了解如何查询表结构以及其字段信息是非常重要的。这有助于数据库管理员和开发者更好地理解数据存储方式,优化查询效率,以及在开发过程中确保数据一致性。本篇文章将详细解析如何通过SQL查询...

    sqlserver2005 自带的工具对 表的备注 和 字段的备注说明维护起来非常麻烦,而且不方便显示表或字段的备注信息,而一般开发人员很看重表和字段的备注。

    4.能够列出所有的字段信息,便于对照,一般的工具里只提供表与字段的关系,不能列出针对字段的查询处理; 5.配置简单,只需把当前目录下的那个Sqlserver2005.UDL文件配置好就行(一定要连接sqlserver2005或2008的...

Global site tag (gtag.js) - Google Analytics