2011年10月1日 星期六

Mysql在C++程式中的連結與應用

1.首先是標頭Header File宣告
需要注意的是mysql.h 需要安裝MySQL封裝才能得到,除了mysql.h之外尚有其餘虛要參考的Header File(從mysql.h的內容得知)都要一併的加入專案中方可使用


#include "mysql.h"
//忽略LIBCMT.lib, MSVCRTD.lib這些庫,不然連接時會報lnk2005錯誤
#pragma comment(linker,"/nodefaultlib:LIBCMT.lib")
#pragma comment(linker,"/nodefaultlib:MSVCRTD.lib")
 
//用mysqlclient.lib,不要用libmysql.lib,要不你要多帶一個libmysql.dll
//靜態庫有兩個,一個是debug版的,一個是release版的,要注意
 
#if defined _DEBUG
#pragma comment(lib, "mysqlclient.lib")  
#else
#pragma comment(lib, "mysqlclient.lib")
#endif
 
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "Advapi32.lib")


2.MySQL使用
宣告和初始化完成後,就可以指定要連結的資料庫位置,目前測試到本機端可以成功使用
遠端使用日後若測試成功會再補上


MYSQL* mysql = NULL;
mysql = mysql_init(mysql);

if (!::mysql_real_connect(mysql, "127.0.0.1", "root","1234", "sci", 0, NULL, 0))
       {
AfxMessageBox(_T(mysql_error(mysql)));
}
else
{
AfxMessageBox(_T("Connected..."));
}
mysql_query(mysql, "UPDATE sci_dial SET ringflag= 1");

        mysql_close(mysql);

參考: http://blog.csdn.net/zwfgdlc/article/details/5556654