vb 读取mysql所有表名_VB 列出SQL数据库中所有表及字段信息

本文旨在帮助DBA评估MS SQL Server和MySQL数据库之间进行移植的挑战,主要对两种数据库的函数进行了对比,以及为了让实现无缝的迁移,你需要做哪些工作。   函数类别   函数可以分为三个不同的类别:   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函数转化成中文类型。SQL Server与Oracle数据库在安全性上的异同 核心提示: 在业界,普遍认为Oracle数据库的安全性要比SQL Server数据库高。下面笔者就来谈谈这两种数据库在安全性设计上面的异同。掌握好这些内容,对于我们进行数据库安全方面的设计与管理,有着举足轻重的作用。

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值