设为首页 收藏本站
查看: 1320|回复: 0

[经验分享] VB6 如何连接MYSQL数据库

[复制链接]

尚未签到

发表于 2017-12-11 21:39:43 | 显示全部楼层 |阅读模式
  1 从官网下载MYSQL的ODBC,选择与自己操作系统对应的版本(前提是你安装了MYSQL)
  http://dev.mysql.com/downloads/connector/odbc/
DSC0000.png

  2 安装完成之后,搜索数据源,你可以发现刚才装好的MYSQL ODBC驱动
DSC0001.png

  3 新建一个VB6的工程,引用microsoft activex data objects 2.8 library
DSC0002.png

  4 在这个VB6的工程中,复制粘贴以下代码(所有代码都在Form_Load中,不需要做别的什么按钮,控件),其中红色部分是你需要修改的代码
  Private Sub Form_Load()
  ' 定义并创建数据库连接和访问对象
  Dim cn As New ADODB.Connection
  Dim rs As New ADODB.Recordset
  ' 定义数据库连接字符串变量
  Dim strCn As String
  ' 定义数据库连接参数变量
  Dim db_host As String
  Dim db_user As String
  Dim db_pass As String
  Dim db_data As String
  ' 定义 SQL 语句变量
  Dim sql As String
DSC0003.png ' 能连接得上数据库(即便主机端口是8080,也没事)

  ' 初始化数据库连接变量
  '连接的主机名
  db_host = "localhost"
  '连接的用户名
  db_user = "root"
  '连接的密码
  db_pass = "123456"
  '连接的表名
  db_data = "vb_test"
  ' MySQL ODBC 连接参数
  '+------------+---------------------+----------------------------------+
  '| 参数名 | 默认值 | 说明 |
  '+------------+------------------------------------------------------–+
  '| user | ODBC (on Windows) | MySQL 用户名 |
  '| server | localhost | MySQL 服务器地址 |
  '| database | | 默认连接数据库 |
  '| option | 0 | 参数用以指定连接的工作方式 |
  '| port | 3306 | 连接端口 |
  '| stmt | | 一段声明, 可以在连接数据库后运行 |
  '| password | | MySQL 用户密码 |
  '| socket | | (略) |
  '+------------+---------------------+----------------------------------+
  ' 详细查看官方说明
  ' http://dev.mysql.com/doc/refman/5.0/en/myodbc-configuration-connection-parameters.html
DSC0004.png

  ' 数据源驱动要对的上(一个字都不能差!!!)
  strCn = "DRIVER={MySQL ODBC 5.2 ANSI Driver};" & _
  "SERVER=" & db_host & ";" & _
  "DATABASE=" & db_data & ";" & _
  "UID=" & db_user & ";PWD=" & db_pass & ";" & _
  "OPTION=3;stmt=SET NAMES GB2312"
  ' stmt=SET NAMES GB2312
  ' 这句是设置数据库编码方式
  ' 中文操作系统需要设置成 GB2312
  ' 这样中文才不会有问题
  ' 版本要求 mysql 4.1+
  ' 连接数据库
  cn.Open strCn
  ' 设置该属性, 使 recordcount 和 absolutepage 属性可用
  cn.CursorLocation = adUseClient
  ' DSC0005.png 表要对的上
  ' 访问表 tg_user
  sql = "select * from tg_user"
  rs.Open sql, cn
  MsgBox rs.RecordCount
  End Sub
  5 然后就能连接上了(见本文最后附上的代码,包括了所有数据库的常见操作:插入,修改,查询,删除)
DSC0006.png

  Private Sub Form_Load()
  ' 定义并创建数据库连接和访问对象
  Dim cn As New ADODB.Connection
  Dim rs As New ADODB.Recordset
  ' 定义数据库连接字符串变量
  Dim strCn As String
  ' 定义数据库连接参数变量
  Dim db_host As String
  Dim db_user As String
  Dim db_pass As String
  Dim db_data As String
  ' 定义 SQL 语句变量
  Dim sql As String
  ' 初始化数据库连接变量
  '连接的主机名
  db_host = "localhost"
  '连接的用户名
  db_user = "root"
  '连接的密码
  db_pass = "123456"
  '连接的表名
  db_data = "vb_test"
  ' MySQL ODBC 连接参数
  '+------------+---------------------+----------------------------------+
  '| 参数名 | 默认值 | 说明 |
  '+------------+------------------------------------------------------–+
  '| user | ODBC (on Windows) | MySQL 用户名 |
  '| server | localhost | MySQL 服务器地址 |
  '| database | | 默认连接数据库 |
  '| option | 0 | 参数用以指定连接的工作方式 |
  '| port | 3306 | 连接端口 |
  '| stmt | | 一段声明, 可以在连接数据库后运行 |
  '| password | | MySQL 用户密码 |
  '| socket | | (略) |
  '+------------+---------------------+----------------------------------+
  strCn = "DRIVER={MySQL ODBC 5.2 ANSI Driver};" & _
  "SERVER=" & db_host & ";" & _
  "DATABASE=" & db_data & ";" & _
  "UID=" & db_user & ";PWD=" & db_pass & ";" & _
  "OPTION=3;stmt=SET NAMES GB2312"
  ' stmt=SET NAMES GB2312
  ' 这句是设置数据库编码方式
  ' 中文操作系统需要设置成 GB2312
  ' 这样中文才不会有问题
  ' 版本要求 mysql 4.1+
  ' 连接数据库
  cn.Open strCn
  ' 设置该属性, 使 recordcount 和 absolutepage 属性可用
  cn.CursorLocation = adUseClient
  ' 访问表 tg_user
  'sql = "select * from tg_user"
  'rs.Open sql, cn
  '返回所有记录的条数
  'MsgBox rs.RecordCount
  'cn现在就是SQL的操作对象,一切与数据库操作的都是cn的事情
  '插入数据 如果数据库已经存在主键,则主键不能重复!!!
  '如果这个字段是字符串,一定要加''
  'cn.Execute "INSERT INTO 表名 (字段名1,字段名2) values('数据1','数据2')"
  'cn.Execute "INSERT INTO tg_user(user_name,password) values('bbb','998877')"
  'cn.Execute "INSERT INTO tg_user(user_name,password) values('ccc','998877')"
  'MsgBox ("插入成功")
  '修改数据 如果没找到这个字段符合的记录,则自动结束,不会报错
  'cn.Execute "UPDATE tg_user set user_name='ddd' WHERE user_name= 'ccc'"
  '如果是变量,或者要更新的不止一条记录,则代码参考下面,没找到也不会报错
  'new_username = "eee"
  'new_password = "222222"
  'cn.Execute "UPDATE tg_user set user_name='" & new_username & "', password='" & new_password & "'WHERE user_name= 'ccc'"
  'MsgBox ("修改成功")
  '删除数据 如果没找到这个字段符合的记录,则自动结束,不会报错
  'cn.Execute "DELETE FROM tg_user WHERE user_name = 'ccc'"
  '如果是变量,则还是加'"& 变量名 &"'
  'new_username = "eee"
  'cn.Execute "DELETE FROM tg_user WHERE user_name = '" & new_username & "'"
  'MsgBox ("删除成功")
  '查询数据
  current_username = "abc"
  sql = "select * from tg_user"
  rs.Open sql, cn
  '返回取得的第一条记录,如果要输出这条记录的第一个字段,就是rs.Fields(0),第二个字段就是rs.Fields(1)
  'MsgBox ("user_name:" & rs.Fields(0))
  'MsgBox ("password:" & rs.Fields(1))
  '如果取得的不止一条记录,则用rs.MoveNext 让指针指向下一条记录
  While rs.EOF = False '如果EOF为真,则表示"游标"已经在最后一条记录后面。
  MsgBox ("user_name:" & rs.Fields(0) & "||password:" & rs.Fields(1))
  rs.MoveNext
  Wend
  End Sub

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-423150-1-1.html 上篇帖子: MySQL绿色版安装整套流程 下篇帖子: MySQL架构由小变大的演变过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表