MFC與MySql的鏈接 VS2008

一、環境

編譯環境: VS2008

MySql版本:mysql-5.5.18-win32.msi

下載地址:點擊打開鏈接

MYSQL官網,選擇的是MySQL Community Server

 

二、安裝連接

安裝步驟:資料來源百度文庫或者CSDN下載,貌似百度文庫方便點

VS編譯,提示找不到#include<mysql.h>

通過VC開發MySQL數據庫應用軟件有多種方式:

一、通過MyODBC界面
二、通過Connector/C++l界面
三、通過MySQL CAPI界面
四、第三方封裝的MySQL類

在經過反覆比較,我還是選擇了MySQLC API方式來進行MySQL的開發。
在VC中使用MySQL的步驟如下:

1、下載MySQL的服務器/客戶端安裝包
官方下載地址如下:
http://www.mysql.com/downloads/mysql-4.0.html
由於我的開發環境是Windows,所以我下載的是MySQL for Windows V4.0.12

2、安裝MySQL服務器/客戶端包
一般情況,選擇下一步就行了。
默認情況,MySQL會安裝到C:\mysql下。

3、在VC中設置其開發環境
[選項/項目/VC目錄]
a.設置包含路徑爲c:\mysql\include
b.設置引用路徑爲c:\mysql\include
c.設置庫路徑爲c:\mysql\lib\debug

a、b、c均不可少
[項目屬性]
d.在設置鏈接器-輸入-附加依賴項爲libmySQL.lib

在stdafx.h中加入以下行:
#include <winsock.h>
#include "mysql.h"

或者不需要設置鏈接器,可在stdxfx.h需多添加一行,等同效果

#pragmacomment(lib,"libmysql.lib")

4、至此就可以使用C API函數進行開發了。

 

FAQ:
1.若出現無法使用mysql.h定義的類型的錯誤時,可重新生成工程即可.
2.若出現鏈接錯誤,可將libmySQL.dll文件拷貝到工程當前目錄下.

 

三、Mysql API函數

MySQL提供了很多函數來對數據庫進行操作,大致可以分爲以下幾類:
第一部分 控制類函數

mysql_init()初始化MySQL對象
mysql_options()設置連接選項
mysql_real_connect()連接到MySQL數據庫
mysql_real_escape_string()將查詢串合法化
mysql_query()發出一個以空字符結束的查詢串
mysql_real_query()發出一個查詢串
mysql_store_result()一次性傳送結果
mysql_use_result()逐行傳送結果
mysql_free_result()釋放結果集
mysql_change_user()改變用戶
mysql_select_db()改變默認數據庫
mysql_debug()送出調試信息
mysql_dump_debug_info()轉儲調試信息
mysql_ping()測試數據庫是否處於活動狀態
mysql_shutdown()請求數據庫SHUTDOWN
mysql_close()關閉數據庫連接


第二部分 信息獲取類函數
mysql_character_set_name()獲取默認字符集
mysql_get_client_info()獲取客戶端信息
mysql_host_info()獲取主機信息
mysql_get_proto_info()獲取協議信息
mysql_get_server_info()獲取服務器信息
mysql_info()獲取部分查詢語句的附加信息
mysql_stat()獲取數據庫狀態
mysql_list_dbs()獲取數據庫列表
mysql_list_tables()獲取數據表列表
mysql_list_fields()獲取字段列表

第三部分 行列類操作函數
mysql_field_count()獲取字段數
mysql_affected_rows()獲取受影響的行數
mysql_insert_id()獲取AUTO_INCREMENT列的ID值
mysql_num_fields()獲取結果集中的字段數
mysql_field_tell()獲取當前字段位置
mysql_field_seek()定位字段
mysql_fetch_field()獲取當前字段
mysql_fetch_field_direct()獲取指定字段
mysql_frtch_fields()獲取所有字段的數組

mysql_num_rows()獲取行數
mysql_fetch_lengths()獲取行長度
mysql_row_tell()獲取當前行位置
mysql_row_seek()行定位
mysql_data_seek()行定位
mysql_fetch_row()獲取當前行


第四部分 線程類操作函數
mysql_list_processes()返回所有線程列表
mysql_thread_id()獲取當前線程ID
mysql_thread_safe()是否支持線程方式
mysql_kill()殺列一個線程


第五部分 出錯處理類函數
mysql_errno()獲取錯誤號
mysql_error()獲取錯誤信息

第六部分 已過時的函數
mysql_connect()
mysql_create_db()
mysql_drop_db()
mysql_eof()
mysql_reload()
mysql_escape_string()

收集相關文章地址:

1、《vs2008下c++鏈接mysql》 http://blog.csdn.net/luxiaoshuai/article/details/5644745
 

2、《vc但文件連接mysql實例,丟掉libmysql.dll》 http://blog.csdn.net/zwfgdlc/article/details/5556654

3、 vs2008連接MySQL,採用C API方式http://blog.csdn.net/sciland/article/details/4274364

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章