vb6通过ODBC连接mysql数据库

在尝试连接数据库之前, 需要简单说明一下连接数据库的两种最常见的方式: 一种是通过建立 DSN 来连接, 这种比较麻烦, 程序移植性差; 我一般采取利用 ADODB 连接数据库的方式, 这种比较灵活方便, 不需额外工作, 方便程序移植.

下面的例子就是通过 ADODB 连接 MySQL 数据库:

首先, 运行VB并新建一标准EXE工程, 通过菜单 工程->引用 打开”引用”对话框, 找到 Microsoft ActiveX Data Objects x.x Library , 其中 x.x 是版本号, 可能会有很多个, 这里我选择的是 2.5(如图)

 

单击”确定”关闭对话框, 这样就在工程中引入了 ado(ActiveX Data Objects), 然后双击Form设计窗体, 打开代码窗口, 在 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 = "yourUsername"
db_pass = "yourPassword"
db_data = "yourDatabase"

' 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

strCn = "DRIVER={MySQL ODBC 3.51 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

' 访问表 table1
sql = "select * from table1"
rs.Open sql, cn
MsgBox rs.recordCount

很简单吧, 剩下的就和操作其他数据库一样了, 最大的区别就在于一些 SQL 语句上.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值