
博客分类:
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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)