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数据库的更多相关文章

  1. VB6.0连接MySQL数据库

    VB6.0连接MySQL数据库

  2. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  3. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  4. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  5. java 通过jdbc连接MySQL数据库

    先了解下JDBC的常用接口 1.驱动程序接口Driver 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类.通常情况下,通过java.lang.Clas ...

  6. JDBC连接MySQL数据库代码模板

    下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...

  7. PHP如何连接MySQL数据库

    * PHP连接MySQL数据库 * 准备工作 * 在XAMPP软件的安装目录/php/ext目录中 * php_mysql.dll和php_mysqli.dll文件必须存在 * 在XAMPP软件的安装 ...

  8. JSP连接MySQL数据库问题

    之前写了一大段,还说了一下具体JDBC连接数据库API的具体包的基本知识,哪知道自己手残不小心按了删除按钮.结果去看自动保存记录时,就只剩下下面这段了.好吧,其实最主要最核心的也就是下面这点了.具体如 ...

  9. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

随机推荐

  1. integer to roman leetcode c++实现

    Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...

  2. ES6 第三章 变量的解构赋值 具体参照http://es6.ruanyifeng.com

    1.基本用法 let [a, b, c] = [1, 2, 3];左右两边解构格式要保持一致. 2.默认值 let [x, y = 'b'] = ['a']; // x='a', y='b' let ...

  3. Exploded location overlaps an existing deployment解决办法

    项目->properties->MyEclipse->Web->Web Context-root的名字为重命名之后的名字即可

  4. 函数内部属性之arguments和this

    在函数内部,有两个特殊的对象:arguments和this. 1.arguments arguments是一个类数组对象.包含着传入函数中的所有参数.但这个对象还有一个名叫callee的属性,该属性是 ...

  5. [kuangbin带你飞]专题五 并查集

    并查集的介绍可以看下https://www.cnblogs.com/jkzr/p/10290488.html A - Wireless Network POJ - 2236 An earthquake ...

  6. Extjs中获取grid数据

    (1)grid.getStore().getRange(0,store.getCount()); //得到grid所有的行 (2)grid.getSelectionModel().getSelecti ...

  7. Python+selenium(定位一组元素)

    我们熟知Webdriver有8种定位元素的方法,但是当需要定位一组元素的时候,可以使用Webdriver提供的与之对应的8种用于定位一组元素的方法,分别是: find_elements_by_id() ...

  8. 自定义UDF函数应用异常

    自定义UDF函数应用异常 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 ...

  9. Leetcode 321.拼接最大数

    拼接最大数 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字.现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个 ...

  10. Linux CentOS命令行界面字体重复问题解决记录

    问题描述: 安装完CentOS 6.5 mini版之后,安装图形界面,启动之后出现如下问题,字体有重复 应该是因为字体原因, 我的解决方法: yum -y install dejavu-sans-* ...