vb+连接mysql+需要什麼?_vb连接mysql

环境: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 Settings\Administrator>cd c:\

C:\>cd mysql-5.6.13-win32

C:\mysql-5.6.13-win32>cd bin

C:\mysql-5.6.13-win32\bin>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-win32\bin>mysqladmin -u root -p shutdown

Enter password:

C:\mysql-5.6.13-win32\bin>

2、上面这种方法是临时用的,一般来说还是注册成服务,执行:

C:\mysql-5.6.13-win32\bin>mysqld --install mysqlabc

Service successfully installed.

C:\mysql-5.6.13-win32\bin>net start mysqlabc

mysqlabc 服务正在启动 ..

mysqlabc 服务已经启动成功。

C:\mysql-5.6.13-win32\bin>

另外,停止服务是net stop mysqlabc,卸载服务是mysqld --remove mysqlabc。mysqlabc是服务名,你可以起其他的名字。

在cmd窗口里面调试sql语句,执行:

C:\mysql-5.6.13-win32\bin>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-win32\bin>

二、当安装了驱动,启动了服务之后,就可以开始代码工作:

引用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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值