30 virtual ~CDatabase(); //關閉數據庫連接
31 private:
32 MYSQL mysql; //數據庫連接句柄
33 MYSQL_RES *query; //結果集
34 MYSQL_ROW row; //記錄集
35 MYSQL_FIELD *field; //字段信息(結構體)
36 BOOL FindSave(char *str); //查找并保存結果集
37 };
通過CDatabase類中定義的這些功能函數,我們可以通過遠程或本機完成對MySQL數據庫的絕大部分操控,并且由于定義了解鎖和加鎖功能,使得應用程序能夠多線程或多進程地訪問數據庫,大大提高了效能。以上函數的具體功能都是通過調用C API函數實現的。
3.2 CDatabase類在VC中的應用
第一步 建立初始化MySQL對象,并且將其初始化。即定義CDatabase類對象,這樣程序就會自動調用構造函數CDatabase(),完成初始化。
構造函數實現如下:
1CDatabase::CDatabase ()
2{
3mysql_init (mysql);
4}完成初始化只需定義CDatabase類對象,即
5CDatabase base;
第二步 連接服務器,并連接需要的數據庫。即調用ConnectDB(Database_Param *p)函數,結構體Database_Param中存放數據庫參數,包括主機名、用戶名、密碼、數據庫名等。該函數如返回TRUE表示連接成功,否則表示失敗。
連接函數實現如下:
1 BOOL CDatabase::ConnectDB(Database_Param *p)
2 {
3 if(!mysql_real_connect(mysql,p->host,p->user,p->password,p->db,p->port,p->unix_socket,p->client_flag))
文章來源于領測軟件測試網 http://www.kjueaiud.com/