知识大全 SQL Server数据库对象信息的获取方法
Posted 数据库
篇首语:学乃身之宝,儒为席上珍。君看为宰相,必用读书人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server数据库对象信息的获取方法相关的知识,希望对你有一定的参考价值。
SQL Server数据库对象信息的获取方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在开发基于SQL Server数据库的应用程序时 经常会遇到需要知道SQL Server数据库对象的相关信息的情况 例如SQL Server中有哪些数据库 这些数据库中有哪些数据表 每个数据表有哪些字段 这些字段是什么属性等 笔者在开发一个数据库导入程序时就遇到了这些问题 经过一番摸索 较好地解决了上述问题 现在把实现方法介绍给大家 程序界面如下图所示 开发环境 本文所列出的代码在Windows NT (SP ) Microsoft Visual Basic Microsoft SQL Server 环境下调试通过 实现思想 利用SQL DMO(分布式管理对象)来访问SQL Server数据库 SQL DMO是为Windows x与 Windows NT提供的 位OLE对象 它为与OLE兼容的应用程序提供了SQL Server管理功能的接口 开发者通过DMO就可以直接访问SQL Server数据对象 实现代码 在 菜单 >工程 >引用 里选中 Microsoft SQLDMO Object Library 在代码中定义以下全局变量 Public oSQLServer As SQLDMO SQLServer 定义一个SQLDMO SQLServer对象 Public oCurrentDB As SQLDMO Database 定义一个SQLDMO Database 对象 Public oCurrentTable As SQLDMO Table 定义一个SQLDMO Table 对象 Public SERVER_NAME As String 用于获得用户输入的SQL Server服务器名称 Public USERNAME As String 用于获得用户输入的用户名 Public PASSWORD As String 用于获得用户输入的密码 以下为部分关键的程序代码 Private Sub cmd_link_Click() 点击 连接 按钮 Set oSQLServer = CreateObject( SQLDMO SQLServer ) oSQLServer Connect SERVER_NAME USERNAME PASSWORD 连接SQL Server服务器 SERVER_NAME 为服务器名 USERNAME为用户名 PASSWORD为用户口令 FillEmptyDatabaseList (True) If cob_sqldb ListCount > Then cob_sqldb ListIndex = Cob_sqldb_Click End If End Sub Private Sub FillEmptyDatabaseList(bFill As Boolean) 获得SQL Server服务器上的所有数据库名称 If bFill = True Then Dim oDB As SQLDMO Database Set oDB = New SQLDMO Database For Each oDB In oSQLServer Databases If oDB SystemObject = False Then 判断其不是系统数据库 cob_sqldb AddItem oDB Name 把非系统数据库名称添加到数据库信息列表框中 End If Next oDB End If End Sub Private Sub Cob_sqldb_Click() 点击 数据库信息 列表框 Dim oDB As SQLDMO Database Set oDB = oSQLServer Databases(cob_sqldb List(cob_sqldb ListIndex)) If oCurrentDB Is Nothing Then Set oCurrentDB = oDB Else If oCurrentDB Name = oDB Name Then Exit Sub End If Set oCurrentDB = Nothing Set oCurrentDB = oDB End If FillEmptyTableList (True) If cob_sqltable ListCount > Then cob_sqltable ListIndex = cob_sqltable_Click End If End Sub Private Sub FillEmptyTableList(bFill As Boolean) 获得当前数据库中的所有非系统数据表名称 If bFill = True Then Dim oTable As SQLDMO Table For Each oTable In oCurrentDB Tables If oTable SystemObject = False Then 判断其不是系统数据表 cob_sqltable AddItem oTable Name 把非系统数据表名称添加到数据表信息列表框中 End If Next oTable End If End Sub Private Sub cob_sqltable_Click() 点击 数据表信息 列表框 Dim oTable As SQLDMO Table Set oTable = oCurrentDB Tables(cob_sqltable List(cob_sqltable ListIndex)) If oCurrentTable Is Nothing Then Set oCurrentTable = oTable Else If oCurrentTable Name = oTable Name Then Exit Sub End If Set oCurrentTable = Nothing Set oCurrentTable = oTable End If FillEmptyColsToIndex (True) If cob_sqlrecord ListCount > Then cob_sqlrecord ListIndex = End If End Sub Private Sub FillEmptyColsToIndex(bFill As Boolean) 获得数据表中的所有字段的信息 If bFill = True Then Dim oCol As SQLDMO Column Set oCol = New SQLDMO Column For Each oCol In oCurrentTable Columns cob_sqlrecord AddItem oCol Name & & oCol DataType 把字段名称和字段属性添加到字段信息列表框中 Next oCol End If End Sub cha138/Article/program/SQLServer/201311/22095相关参考
SQLServer数据库对象信息的获取[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
SQLServer数据库对象信息的获取[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
SQLServer数据库对象信息的获取[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
获取SQLSERVER用户表信息游标 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /*获取用户
获取SQLServer数据库里表的占用容量大小 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!获取S
获取SQLServer数据库里表占用容量大小 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 其实
使用ADO对象连接SQLServer数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 链接代
SQLServer数据对象结构的动态建立 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Micr
数据库手边系列:SQLServer数据表信息 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SE
查看SQLServer数据表的详细信息 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SELEC