如何用vb连接mysql数据库

如何用vb连接mysql数据库,第1张

VB连接MYSQL数据的方法

博客分类:

VB

VBMySQLSQLServerSQLSocket

第一步:上网http://dev.mysql.com/downloads/connector/odbc/下载mysql-connector-odbc-5.1.6-win32.msi

第二步:安装mysql-connector-odbc-5.1.6-win32.msi

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

第四步:打开代码窗口, 在 Form_Load 过程中输入下面的代码(具体说明在代码的注释中):

Vb代码

' 定义并创建数据库连接和访问对象

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 = ""

db_data = "erqiuda"

' 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.1 Driver}" &_

"SERVER=" &db_host &"" &_

"DATABASE=" &db_data &"" &_

"UID=" &db_user &"PWD=" &db_pass &"" &_

"OPTION=3stmt=SET NAMES GB2312"

' stmt=SET NAMES GB2312

' 这句是设置数据库编码方式

' 中文 *** 作系统需要设置成 GB2312

' 这样中文才不会有问题

' 版本要求 mysql 4.1+

' 连接数据库

cn.Open strCn

' 设置该属性, 使 recordcount 和 absolutepage 属性可用

cn.CursorLocation = adUseClient

' 访问表users

sql = "select * from users"

rs.Open sql, cn

MsgBox rs.RecordCount

楼上讲的是VB2005的连接方法,不知道你用的是什么版本的VB,我给你一个VB6.0的连接方法吧

先在本机上安装最新的ODBC CONNECTER/mysql

无需设置ODBC,就可以使用.

注意MYSQL的帐户登录是根据主机的,设置好MYSQL的帐户后再做测试.

测试代码:

Dim conn As ADODB.Connection

Dim rs As ADODB.Recordset

Dim fld As ADODB.Field

Dim sql As String

'connect to MySQL server using MySQL ODBC 3.51 Driver

Set conn = New ADODB.Connection

conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}" _

&"SERVER=192.168.0.1" _

&" DATABASE=db_name" _

&"UID=usernamePWD=passwordOPTION=3"

conn.Open

'create table

conn.Execute "DROP TABLE IF EXISTS my_ado"

conn.Execute "CREATE TABLE my_ado(id int not null primary key, name varchar(20)," _

&"txt text, dt date, tm time, ts timestamp)"

'direct insert

conn.Execute "INSERT INTO my_ado(id,name,txt) values(1,100,'venu')"

conn.Execute "INSERT INTO my_ado(id,name,txt) values(2,200,'MySQL')"

conn.Execute "INSERT INTO my_ado(id,name,txt) values(3,300,'Delete')"

Set rs = New ADODB.Recordset

rs.CursorLocation = adUseServer

'fetch the initial table ..

rs.Open "SELECT * FROM my_ado", conn

Debug.Print rs.RecordCount

rs.MoveFirst

Debug.Print String(50, "-") &"Initial my_ado Result Set " &String(50, "-")

For Each fld In rs.Fields

Debug.Print fld.name,

Next

Debug.Print

Do Until rs.EOF

For Each fld In rs.Fields

Debug.Print fld.value,

Next

rs.MoveNext

Debug.Print

Loop

rs.Close

conn.Close

连接数据库

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0Persist Security Info=FalseData Source=" + App.Path + "\hkmdck\db1.mdb"

Adodc1.RecordSource = "select * from tb1"

Adodc1.Enabled = True

Adodc1.Refresh

查询当前有多少条记录;当前记录为第几条

Private Sub Command1_Click()

Label1.Caption = "数据库共有 " &Adodc1.Recordset.RecordCount &" 条记录"

Label2.Caption = "当前记录为第 " &Adodc1.Recordset.AbsolutePosition &" 条记录"

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/6106740.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-15
下一篇2023-03-15

发表评论

登录后才能评论

评论列表(0条)

    保存