vb访问mysql容易死机_VB访问MySQL
最近研究的東西中, 有一部分涉及到用VB訪問MySQL數據庫, 今天研究了一下小有收獲, 共享出來供大家參考首先下載
MySQL 的 ODBC 驅動, 我下載的是 MySQL ODBC 3.51 without
installer 版, 下載后是一zip包, 隨便解壓到哪, 然后運行 cmd, 定位路徑到解壓的目錄, 然后運行 install.bat 安裝即可, 具體看下面的代碼(其中以#開頭的為我加的注釋):
# 下文中路徑都是假設的# 需要修改成你的路徑 至此, MySQL ODBC 就安裝完成了, 運行控制面板->管理工具->數據源(ODBC) 進入”驅動程序”標簽頁就可以看到剛剛安裝的
MySQL ODBC 驅動了(如圖). 在嘗試連接數據庫之前, 需要簡單說明一下連接數據庫的兩種最常見的方式: 一種是通過建立 DSN 來連接, 這種比較麻煩, 程序移植性差; 我一般采取利用 ADODB 連接數據庫的方式, 這種比較靈活方便, 不需額外工作, 方便程序移植.下面的例子就是通過
ADODB 連接 MySQL 數據庫:首先, 運行VB并新建一標準EXE工程, 通過菜單 工程->引用
打開”引用”對話框, 找到 Microsoft ActiveX Data Objects x.x
Library , 其中 x.x 是版本號, 可能會有很多個, 這里我選擇的是 2.5(如圖)
單擊”確定”關閉對話框, 這樣就在工程中引入了 ado(ActiveX Data Objects),
然后雙擊Form設計窗體, 打開代碼窗口, 在 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 = "yourUsername"
db_pass = "yourPassword"
db_data = "yourDatabase"
' 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 3.51 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
' 訪問表 table1
sql = "select * from table1"
rs.Open sql, cn
MsgBox rs.recordCount
很簡單吧, 剩下的就和操作其他數據庫一樣了, 最大的區別就在于一些 SQL 語句上.
BTW:
同時我發現rs.recordset 屬性返回 -1,(已解決: cn.CursorLocation =
adUseClient) 還有更多更具體的問題有待研究, 這些將會在
總結
以上是生活随笔為你收集整理的vb访问mysql容易死机_VB访问MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安惠定金开债C是什么?一文了解产品投资
- 下一篇: 瑞幸咖啡净亏损扩大至5.3亿元!实体经济