怎么读去一个数据库中的所有表的名称

liuqingjun 2003-09-11 12:08:02
我要做一个数据导入导出的程序,要读取sqlserver或access库中的所有表
我是用ado做的,在线等待
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longfeisoft 2003-09-14
  • 打赏
  • 举报
回复
下面的代码使用的时候要再工程的引用里面添加 ADOX 2.5 ,然后在窗体上放一个ComboBox

Private Sub ListAllTbl(MdbName As String)
Dim catJxc As New ADOX.Catalog
Dim tabDbbld As New ADOX.Table
Dim TmpTblName As String
Dim CountSql As String
Dim j As Long
'如果该数据库不存在,则建之
On Error GoTo OnError
MdbName = Text1(0).Text
CountSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & MdbName & ";"
catJxc.ActiveConnection = CountSql

'处理单行数据
Combo1.Clear

For j = 0 To catJxc.Tables.Count - 1
Select Case catJxc.Tables(j).Type
Case "TABLE"
TmpTblName = catJxc.Tables(j).Name
Combo1.AddItem TmpTblName
End Select
Next

Set catJxc.ActiveConnection = Nothing
Exit Sub
OnError:
MsgBox "查询数据库时出错!" & Err.Number & Err.Description
Debug.Print CountSql
Debug.Print Err.Description
Resume Next

End Sub
little_sophy 2003-09-13
  • 打赏
  • 举报
回复
很多的功能都不需要自己去做的,只要把系统表中的东西选择出来就可以了,看看帮助中关于各个系统表的介绍。
liuqingjun 2003-09-11
  • 打赏
  • 举报
回复
非常感谢两位的帮助
sindyzhou 2003-09-11
  • 打赏
  • 举报
回复
有一个系统表叫sysobjects
可以这样从中选出所有用户表:
select [Name] from sysobjects where xtype = 'U'

还有其他的用途自己看帮助
lihonggen0 2003-09-11
  • 打赏
  • 举报
回复
sql server:

select name from sysobjects where xtype='u'
lihonggen0 2003-09-11
  • 打赏
  • 举报
回复


'----------------------------------------------------------------------------
'
'Author:lihonggen0
'Date:2003-6-19
'功能:获取access库中表的个数及表的名称
'用ado怎样实现
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
'----------------------------------------------------------------------------
Private Sub Form_Load()
Dim adoCN As New ADODB.Connection '定义数据库的连接
Dim strCnn As New ADODB.Recordset
Dim I As Integer
str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
adoCN.Open str1

Set rstSchema = adoCN.OpenSchema(adSchemaTables)

Do Until rstSchema.EOF
If rstSchema!TABLE_TYPE = "TABLE" Then
out = out & "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
I = I + 1
End If
rstSchema.MoveNext
Loop
MsgBox I
rstSchema.Close

adoCN.Close
Debug.Print out
End Sub

http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=8159

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧