ADO 菜问……

SetMeFree 2004-10-27 06:23:01
有一个未知 Jet 数据库,但确定是数据库,如何用 VB 的ADO 获取其包含的表的数量和表名?对于其他数据库是不是一样的方法?
我苦思未解,或者 ADO 不支持此法?
类似于 Data View,只要设置 ConnectionString,再执行 Open,即可获取Table的目录树。
...全文
154 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyxhappy 2004-11-03
  • 打赏
  • 举报
回复
UP
yongming520 2004-11-03
  • 打赏
  • 举报
回复
建议楼主去http://access911.net看看,那里有你想要的东西,给你一个QQ号码,3103919,你可以问他们!
officecn 2004-10-28
  • 打赏
  • 举报
回复
使用ADOX来查询数据库结构,如果你事先并不知道是什么数据库,
那你可以写一个连接数据库的界面,
连接类型分两种:Access,其他类型的数据库都放在ODBC连接类型里
这样你的连接字符串不就确定了?
leigang358 2004-10-28
  • 打赏
  • 举报
回复
被daisy8675(莫依)给抢先了
55555
SetMeFree 2004-10-28
  • 打赏
  • 举报
回复
还有,要用纯ADO的方式。
SetMeFree 2004-10-28
  • 打赏
  • 举报
回复
各位朋友的热心帮助让小弟我感激不尽……
daisy8675(莫依)的那个方法我试过,rstSchema!TABLE_NAME返回字符串"MSysAccessObjects",并不是我要的表的名字。而rstSchema!TABLE_TYPE是可以返回"Access_Table"样的字串。而且这个Loop好久都没停下来,那个out字串变量里存了好多好多东西。我用来验证的数据库只有2个表啊。
也许有些朋友还未明白我的意图,小弟再说明一下:
有一个Access数据库(.mdb),里面有两个表,一个名为"学生档案",另一个是"教师档案"。而现在我并不知道这个数据库里面有多少个表,更不知道表的名字。用Data View或者Data Environment都可以很简单地看到。我想做的并不是借助其他工具来看,我要用代码的方式把表的名字列出来!
关键:不知道有多少个表更不知道表的名字!要用代码!
为这个,进程已经拖了几天了,55555……
chenyu5188 2004-10-28
  • 打赏
  • 举报
回复
out还用问嘛当然是字符型的啊!
chenyu5188 2004-10-28
  • 打赏
  • 举报
回复
rstSchema as new adodb.recordset

我帮她帮齐!
SetMeFree 2004-10-28
  • 打赏
  • 举报
回复
daisy8675(莫依):
原犸第三行:strSchema 何解?
out = out &.....out 是什么类型的?
sloven 2004-10-27
  • 打赏
  • 举报
回复
看看也长经验~~呵呵
daisy8675 2004-10-27
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim adoCN As New ADODB.Connection '定义数据库的连接存放数据和代码Dim rstSchema
Dim strCnn As New ADODB.Recordset
Dim strConn As String

strConn = " Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=JOHN"
adoCN.Open strConn

Set rstSchema = adoCN.OpenSchema(adSchemaTables)

Do Until rstSchema.EOF
out = out & "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
rstSchema.MoveNext
Loop
rstSchema.Close

adoCN.Close
Debug.Print out
End Sub


有哥 2004-10-27
  • 打赏
  • 举报
回复
如果是access数据库可以打开系统表看看,visdata中让它们显示出来,你就清楚了
有哥 2004-10-27
  • 打赏
  • 举报
回复
如何是access数据库可以打开系统表看看
victorycyz 2004-10-27
  • 打赏
  • 举报
回复

用ADOX可以得到。

不过,连接的字符串肯定是不通用的,如果不知道是什么数据库,恐怕很难连接上。

1,216

社区成员

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

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