這篇主要介紹在VS下操作MySQL數據庫的平臺搭建:
開發語言爲C/C++,開發平臺爲VS2010。
(就光能通過編譯運行就用了我很多時間)
MySQL官方了提供C的API,用C/C++語言編程方式在C/S架構下在客戶端連接到MySQL數據庫。
據說這個是直接通過調用API函數,裏面會自動連接到目標服務器,而省去了socket等的網絡連接過程
參考資料:http://dev.mysql.com/doc/
由於裝的是MySQL5.5的版本,因此這裏上5.5版API傳送門:http://dev.mysql.com/doc/refman/5.5/en/c-api.html
————————————————————————————————————————————————————————————
首先是在VS2010上搭建環境:
首先保證安裝MySQL,啓動服務。(注意有VS對應版本的問題)
(這裏有個可以在VS上建立MYSQL的連接,調用mysql的工具條,操作Mysql數據庫,功能和那種圖形化的MySQL工具很相似。具體見文檔)
1.首先先創建一個空項目爲例,正常創建方式,這個就不貼圖了。
添加一個MySQL的示例代碼,(這裏涉及到動態庫的調用)
然後進行編譯
#include <stdio.h>
#include <stdlib.h>
#include <WinSock2.h>
#include "mysql.h"
#pragma comment(lib, "libmysql")
int main()
{
mysql_library_init(0, NULL, NULL);
printf("great!\n");
mysql_library_end();
getchar();
return 1;
}
稱沒有找到頭文件和函數。
缺少.h需要將MySQL的頭文件和lib庫包含到工程下。在MySQL安裝目錄的include和lib文件下。
解決方式:在工程項目上右擊。然後選擇屬性->配置屬性->VC++目錄裏的包含目錄和庫目錄裏添加路徑:如下
(VS2010前的版本好像可以設置添加,到VS2010之後只能對工程進行添加。)添加完成後,再次編譯。發現沒有錯誤。
3.當啓動的時候再次報錯:問題如下:
對於庫中的函數無法調用的問題“:
出現原因:沒有將DLL庫添加到工程目錄下。
解決辦法:將MySQL安裝目錄下lib中的libmysql.dll複製到工程目錄下
再次編譯運行,依舊出現這個問題。
這個問題糾結了我很久,後來才知道因爲我的系統是win7 64位的,MySQL也是64位的。而VS的運行平臺是Win32。
找到問題,然後在配置管理器中將平臺改爲x64,如下圖:
4.在重新添加一下目錄。再次編譯運行,則程序就可以正常運行,
到此爲止,平臺搭建完畢!