Linux下使用C C 訪問資料庫

2021-08-31 04:59:45 字數 2823 閱讀 1783

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...