linux下使用c/c++訪問資料庫——mysql篇
最近打算寫一套oa系統,為了方便進行資料庫操作,特意抽出一周的時間來研究c/c++訪問各種資料庫的方法,並打算封裝一套資料庫操作類,現在奉上最簡單的一部分:在linux下訪問mysql資料庫。
本文中使用的mysql api**為c語言,如果各位對c++有興趣,可以考慮使用mysql++。
一、配置開發環境
首先需要編譯、安裝mysql,安裝完成後,將mysql目錄中的lib目錄新增到環境變數中。
新建c/c++工程,把$mysql_root/include新增到編譯環境的包含路徑下面。在編譯選項中,增加$mysql_root/lib目錄。在link選項中增加-lmysqlclient(已經把lib目錄增加到系統環境變數中),或者直接引用libmysqlclient.so檔案。
二、程式**
不多說了,直接上**,注釋都很詳細。
/*
* mysqlmanager.h
*
* created on: feb 18, 2009
* author: steven wee
*/
#ifndef mysqlmanager_h_
#define mysqlmanager_h_
#include "../common/checkstringtools.h"
#include
#include
#include
#include
#include
using namespace std;
class mysqlmanager
;
#endif /* mysqlmanager_h_ */
/*
* mysqlmanager.cpp
*
* created on: feb 18, 2009
* author: steven wee
*/
#include "mysqlmanager.h"
mysqlmanager::mysqlmanager(string hosts, string username, string password, string dbname, unsigned int port)
mysqlmanager::~mysqlmanager()
void mysqlmanager::setdbname(string dbname)
else
}
void mysqlmanager::sethosts(string hosts)
else
}
void mysqlmanager::setpassword(string password)
else
}
void mysqlmanager::setport(unsigned int port)
else
}
void mysqlmanager::setusername(string username)
else
}
void mysqlmanager::initconnection()
this ->resultlist.push_back(objectvalue);
}
mysql_free_result(res); //free result after you get the result
return true;
}
vector< vector> mysqlmanager::getresult()
void mysqlmanager::destroyconnection()
bool mysqlmanager::getconnectionstatus()
三、修改建議
本人在以後的完善中,打算把runsqlcommand(char * sql)函式分解成兩個或者三個函式,分別執行select和insert等語句。
在程式中,我並沒有強制要求引數必須為const,可能會出現一些安全問題。
本文僅起拋磚引玉的作用,希望有高手可以指點我程式中的問題。
乙個例子
#include
#include
#include
using namespace std;
class cba***
void foo()
};class cbasey
void bar()
};class cderived : public cba***, public cbasey
void test()
};int main()
; class d: public b {}
void f( b* pb )
*/return 0;
} /*
dynamic_cast:向下轉型
static_cast :這個好用 ,可向上也可向下
reinterpret_cast: 這個還有待進一步體會
const_cast: 這個也要時一步體會真實用法
*/
Linux下使用C C 訪問資料庫
日期 2011 04 27 字型 大 中 小 寫一套oa系統,為了方便進行資料庫操作,特意抽出一周的時間來研究c c 訪問各種資料庫的方法,並打算封裝一套資料庫操作類,現在奉上最簡單的一部分 在linux下訪問mysql資料庫。本文中使用的mysql api 為c語言,如果各位對c 有興趣,可以考慮...
linux下C 訪問mysql資料庫
在這個程式中,比上一次的要完善一些,實現了通過c 對資料表進行新增,修改,插入,刪除的功能。標頭檔案 mydb.h ifndef mydb class define mydb class include include include class mydb endifmydb.cpp include...
Linux系統下C C 開發mysql資料庫應用
一 linux下掛載光碟機 掛載光碟機 mount t iso9660 dev cdrom mnt cdrom 解除安裝光碟機 umount dev cdrom 彈出光碟機 eject 推進光碟機 eject t 二 執行mysql只需安裝 mysql server 3.23.54a 11.i386...