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

 

 

 

 

 

 

 

 


 

版权声明:本文为acetaohai123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/acetaohai123/p/6600749.html