`
hred
  • 浏览: 45582 次
  • 性别: 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工具,我们可以创建出既适应当前需求,又能适应未来变化的数据库设计。

    查询所有数据库-一个数据库中所有表和表的所有字段

    在SQL Server中,查询所有数据库、以及每个数据库中所有表和表的所有字段是数据库管理员或开发人员日常工作中常见的任务。这有助于了解数据库的结构和数据存储情况。以下是如何执行这些查询的详细步骤。 首先,我们...

    数据库字段导出工具

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

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

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

    oracle数据库表中修改字段的顺序

    2. **查询对象ID和字段信息**:接下来,我们需要查询出表的`OBJECT_ID`以及所有字段的信息。这可以通过以下查询语句完成: ```sql SELECT OBJECT_ID FROM ALL_OBJECTS WHERE OWNER = 'SCOTT' AND OBJECT_NAME = '...

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

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

    WOW数据库对照表.rar

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

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

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

    PostgreSQL获取表名和字段名

    以下是一个SQL查询示例,用于列出除了以'pg%'和'sql_%'开头的系统表之外的所有表名: ```sql SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg%' AND tablename NOT LIKE 'sql_%' ORDER BY ...

    20120101列出时刻表数据库

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

    读取数据库字段备注

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

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

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

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

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

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

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

    SQL查询包含某个字段的所有表名

    当需要找出数据库中所有包含特定字段的表名时,可以使用系统视图来实现这一目标。在本例中,我们将关注如何查询包含名为'FID'或'FUserID'字段的所有表名。SQL查询分析器通常用于执行这些查询,它允许用户与数据库...

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

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

Global site tag (gtag.js) - Google Analytics