加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb连接mysql

发布时间:2020-12-17 07:57:59 所属栏目:百科 来源:网络整理
导读:环境:xp+vb6+mysql-5.6.13-win32+mysql-connector-odbc-5.2.5-win32 一、首先要下载mysql,其次要下载mysql的odbc驱动。 odbc驱动的安装很简单,双击就可执行。 mysql不用安装,解压就行。但它的服务的启动比较麻烦,需要用到cmd,下面是我电脑上的启动过程

环境:xp+vb6+mysql-5.6.13-win32+mysql-connector-odbc-5.2.5-win32


一、首先要下载mysql,其次要下载mysql的odbc驱动。
odbc驱动的安装很简单,双击就可执行。
mysql不用安装,解压就行。但它的服务的启动比较麻烦,需要用到cmd,下面是我电脑上的启动过程:


1、
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:Documents and SettingsAdministrator>cd c:

C:&;cd mysql-5.6.13-win32

C:mysql-5.6.13-win32>cd bin

C:mysql-5.6.13-win32bin>mysqld
2014-03-25 09:18:18 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
启动之后,cmd窗口就卡在那里,如果需要关闭服务,就要新开一个cmd窗口,然后像上面一样,cd进mysql目录,执行:
C:mysql-5.6.13-win32bin>mysqladmin -u root -p shutdown
Enter password:

C:mysql-5.6.13-win32bin>


2、上面这种方法是临时用的,一般来说还是注册成服务,执行:
C:mysql-5.6.13-win32bin>mysqld --install mysqlabc
Service successfully installed.

C:mysql-5.6.13-win32bin>net start mysqlabc
mysqlabc 服务正在启动 ..
mysqlabc 服务已经启动成功。


C:mysql-5.6.13-win32bin>
另外,停止服务是net stop mysqlabc,卸载服务是mysqld --remove mysqlabc。mysqlabc是服务名,你可以起其他的名字。
在cmd窗口里面调试sql语句,执行:
C:mysql-5.6.13-win32bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.6.13 MySQL Community Server (GPL)

Copyright (c) 2000,2013,Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> create database abc character set gb2312;
Query OK,1 row affected (0.03 sec)

mysql> q
Bye

C:mysql-5.6.13-win32bin>


二、当安装了驱动,启动了服务之后,就可以开始代码工作:
引用Microsoft ActiveX Data Objects 2.0 Library
引用Microsoft ADO Data Control 6.0 (OLEDB)控件。
添加两个文本框,两个命令按钮,一个Adodc控件。

Option Explicit
Dim m_conPhone As ADODB.Connection

Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum,ByVal pError As ADODB.Error,adStatus As ADODB.EventStatusEnum,ByVal pRecordset As ADODB.Recordset)
If (Not Adodc1.Recordset.BOF) And (Not Adodc1.Recordset.EOF) Then Adodc1.Caption = Adodc1.Recordset.Bookmark
End Sub

Private Sub Command1_Click()
Adodc1.Recordset.AddNew
End Sub

Private Sub Command2_Click()
Adodc1.Recordset.Delete
Adodc1.Refresh
End Sub

Private Sub Form_Initialize()
If SqlConnect(m_conPhone) Then
m_conPhone.Execute "create database if not exists abc character set gb2312",adExecuteNoRecords
m_conPhone.Execute "use abc",adExecuteNoRecords
m_conPhone.Execute "CREATE TABLE IF NOT EXISTS " & "test" & "( name varchar(20) primary key," _
& "time datetime)",adExecuteNoRecords
m_conPhone.Execute "insert ignore into test values ('名字','2014-3-1')",adExecuteNoRecords
m_conPhone.Close
Set m_conPhone = Nothing
Else
Set m_conPhone = Nothing
Set Form1 = Nothing
End If
End Sub

Private Function SqlConnect(Connect As ADODB.Connection) As Boolean
On Error GoTo errconnect
Set Connect = New ADODB.Connection
Connect.ConnectionString = "DRIVER={MySQL ODBC 5.2 Ansi Driver};" _
& "SERVER=localhost;" _
& "UID=root;PWD=; OPTION=3;"
Connect.Open
SqlConnect = True
Exit Function
errconnect:
Dim strErr As String
If Err.Number = -2147467259 Then
strErr = "可能MySQL服务没有开启。"
End If
Debug.Print Err.Number & "," & strErr & Err.Description
SqlConnect = False
End Function

Private Sub Form_Load() Me.Show Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Extended Properties=" & _ Chr(34) & "DRIVER={MySQL ODBC 5.2 Ansi Driver};SERVER=localhost; OPTION=3;DATABASE=abc" & Chr(34) Adodc1.CommandType = adCmdText Adodc1.RecordSource = "select * from test" Set Text1.DataSource = Adodc1 Text1.DataField = "name" Set Text2.DataSource = Adodc1 Text2.DataField = "time" Command1.Caption = "增加" Command2.Caption = "删除" End Sub

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读