VB6 如何连接MYSQL数据库
1 从官网下载MYSQL的ODBC,选择与自己操作系统对应的版本(前提是你安装了MYSQL)
http://dev.mysql.com/downloads/connector/odbc/

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

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

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
' 能连接得上数据库(即便主机端口是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

' 数据源驱动要对的上(一个字都不能差!!!)
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
End Sub
5 然后就能连接上了(见本文最后附上的代码,包括了所有数据库的常见操作:插入,修改,查询,删除)

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
VB6 如何连接MYSQL数据库的更多相关文章
- VB6.0连接MySQL数据库
VB6.0连接MySQL数据库
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- PDO连接mysql数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- java 通过jdbc连接MySQL数据库
先了解下JDBC的常用接口 1.驱动程序接口Driver 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类.通常情况下,通过java.lang.Clas ...
- JDBC连接MySQL数据库代码模板
下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...
- PHP如何连接MySQL数据库
* PHP连接MySQL数据库 * 准备工作 * 在XAMPP软件的安装目录/php/ext目录中 * php_mysql.dll和php_mysqli.dll文件必须存在 * 在XAMPP软件的安装 ...
- JSP连接MySQL数据库问题
之前写了一大段,还说了一下具体JDBC连接数据库API的具体包的基本知识,哪知道自己手残不小心按了删除按钮.结果去看自动保存记录时,就只剩下下面这段了.好吧,其实最主要最核心的也就是下面这点了.具体如 ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
随机推荐
- Zend Studio 修改“代码字体和大小”
- JavaEE-02 JSP数据交互01
学习要点 request对象 response对象 转发与重定向 session对象 include指令 课程回顾 需求描述:编写JSP页面,计算2000—3000年中存在几个闰年. 实现分析:判断闰 ...
- 清除SQL Server 2008记住的数据库地址、登录名和密码
在服务器上登录过数据库信息,并且选择了记住了密码,由于服务器数据库很多人在使用,有必要删除信息 定位到fileC:\Users\%username%\AppData\Roaming\Microsoft ...
- SQL Server 删除表的默认值约束
首先查出字段的默认值约束名称,然后根据默认值约束名称删除默认值约束 ) select @constraintName = b.name from syscolumns a,sysobjects b w ...
- configparser ,subprocess , xlrd ,xlwt 模块
一,configparser模块 ''' configparser模块: 是什么: 用于解析配置文件的模块 配置文件的定义: 用于编写保存某个软件或某个系统的一系列参数的文件 设置参数 为什么需要配置 ...
- Android开发——获取应用数据/缓存大小并清理缓存
1. 获取应用数据/缓存大小 其中pm为实例化的PackageManager,因为需要遍历所有的已安装的应用.因此需要开启子线程进行处理. 还有需要注意的是,在Android4.2之前getPacka ...
- 【Codeforces 140A】New Year Table
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 算出来每个盘子要占用多少角度. 然后乘n看看是不是小于等于2π就好 (精度最好定在1e-7) [代码] #include <bits/s ...
- HR面试你需要注意什么?
公司的面试流程一般是笔试—>技术面试—>hr面试,在大部分应聘测试工程师这种技术岗的应聘者理解中,通常认为通过技术面试了,后面的hr面试基本就是走流程过形式.也正因如此,我们习惯性地把精力 ...
- ES6关于Promise的用法详解
Node的产生,大大推动了Javascript这门语言在服务端的发展,使得前端人员可以以很低的门槛转向后端开发. 当然,这并不代表迸发成了全栈.全栈的技能很集中,绝不仅仅是前端会写一些HTML和一些交 ...
- CodeForce 448C 木片填涂问题
题目大意:有多片木片需要填涂,可以每次横着涂一行,也可以一次涂一列,当然你涂一行时遇到中间长度不够高的木片,填涂到此中断 这题目运用dfs能更容易的解出,虽然还是十分不容易理解 #include &l ...