懂VB操作MYSQL的大侠,如何判断表是否存在?急,20分不多,帮忙吧

wangzhenkai1981 2013-01-30 11:24:06
懂VB操作MYSQL的大侠,如何判断数据表是否存在?我用了很多SQL语句都行不通,大侠给段代码吧!万分感激!一定是MYSQL的啊
...全文
1185 9 点赞 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wangzhenkai1981 2013-01-31
引用 8 楼 dong_y888 的回复:
只能查询在你的数据库中存在不存在你要建的表,而不是所有数据库中 Visual Basic code ? 12345678910111213 MYsql = "DRIVER={MySQL ODBC 3.51 Driver};server=" & Trim(txtSQL) & "; user id=" & Trim(txtUser) & ……
非常感谢你的帮助,问题解决了!
  • 打赏
  • 举报
回复
vansoft 2013-01-31
查一下mysql的系统表就知道了。 google,baidu
  • 打赏
  • 举报
回复
wangzhenkai1981 2013-01-31
哪位大侠能给段源码?继续顶!直到解决为止!
  • 打赏
  • 举报
回复
wangzhenkai1981 2013-01-31
引用 2 楼 vansoft 的回复:
一个是用错误处理,你直接查那张表的数据,如果没有表,会报错。 一个是使用数据库的管理信息,数据库本身会记录有哪些表哪些字段,存放在某些表里。
使用数据库的管理信息,如何使用啊,大侠能否给段源码啊,我已经找了很长时间了,关键是代码执行不了,就是希望能找一段可以用的代码啊!!!!
  • 打赏
  • 举报
回复
dong_y888 2013-01-31
只能查询在你的数据库中存在不存在你要建的表,而不是所有数据库中
MYsql = "DRIVER={MySQL ODBC 3.51 Driver};server=" & Trim(txtSQL) & ";
user id=" & Trim(txtUser) & ";password=" & Trim(txtPW) & ";
database=" & Trim(txtDBName)
        myconn.Open MYsql
        myrecord.Open "select table_name from information_schema.tables 
where table_name ='mytable1' and table_schema='"+Trim(txtDBName)+"'", myconn, adOpenStatic, adLockReadOnly
        If myrecord.EOF Then
            MYsql = "CREATE TABLE mytable1(mydata1 integer (50))" 
            myconn.Execute MYsql
             MsgBox "成功建立", vbInformation
        Else
            MsgBox "建表失败,表已经存在!"
        End If
  • 打赏
  • 举报
回复
of123 2013-01-31
采用错误处理是最简单和普遍适用的方法。
  • 打赏
  • 举报
回复
wangzhenkai1981 2013-01-31
引用 5 楼 vansoft 的回复:
查一下mysql的系统表就知道了。 google,baidu
非常感谢你的回答,我也是用的这个查询语句,原来是少了两个'符号,但是查询系统表中没有这个表,而在建表时却错误提示已经存在表。代码如下: MYsql = "DRIVER={MySQL ODBC 3.51 Driver};server=" & Trim(txtSQL) & ";user id=" & Trim(txtUser) & ";password=" & Trim(txtPW) & ";database=" & Trim(txtDBName) myconn.Open MYsql myrecord.Open "select table_name from information_schema.tables where table_name ='mytable1'", myconn, adOpenStatic, adLockReadOnly If myrecord.EOF Then MYsql = "CREATE TABLE mytable1(mydata1 integer (50))" myconn.Execute MYsql MsgBox "成功建立", vbInformation Else MsgBox "建表失败,表已经存在!" End If 错误提示如下:table 'a1.mytable1' already exists(翻译:表“A1 mytable1”已经存在。) 这是怎么回事啊?关键就是这里出问题,才进行的表的查询!可是查询的没有表却还是不能建立!大侠再帮忙回答一下吧!
  • 打赏
  • 举报
回复
vansoft 2013-01-30
一个是用错误处理,你直接查那张表的数据,如果没有表,会报错。 一个是使用数据库的管理信息,数据库本身会记录有哪些表哪些字段,存放在某些表里。
  • 打赏
  • 举报
回复
wangzhenkai1981 2013-01-30
懂的大侠帮忙指点一下,给段代码!自己顶一下。
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库(包含打印,安装,报表)
加入

1190

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2013-01-30 11:24
社区公告
暂无公告