日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle OCCI的一個(gè)簡(jiǎn)單的包裝類的實(shí)現(xiàn)

瀏覽:256日期:2023-11-29 19:22:44

注意:如果需要在vs2005中鏈接,需要到Oracle網(wǎng)站上下載最新的vs2005的occi庫文件。

TOcci.h #ifndef _OCCIDATABASE_H_ #define _OCCIDATABASE_H_ #include; #include; #include; using namespace oracle::occi; using namespace std; namespace happyever { class TOcciDatabase { public: static TOcciDatabase* getInstance(string usr, string passwd, string db); int getConnectCount(){ return _Instance->count; }; Connection* getConnect(){ count++;return _Instance->conn; }; ~TOcciDatabase(); protected: TOcciDatabase(){}; TOcciDatabase(string usr, string passwd, string db); private: static TOcciDatabase* _Instance; static int count; Environment *env; Connection *conn; }; int TOcciDatabase::count = 0; TOcciDatabase* TOcciDatabase::_Instance = 0; TOcciDatabase::TOcciDatabase(string usr, string passwd, string db) { try { env = Environment::createEnvironment (Environment::DEFAULT); conn = env->createConnection (usr, passwd, db); } catch(SQLException ex) { cout<<'Exception thrown for getConnect'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } }; TOcciDatabase::~TOcciDatabase() { try { env->terminateConnection (conn); Environment::terminateEnvironment (env); } catch(SQLException ex) { cout<<'Exception thrown for getConnect'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } }; TOcciDatabase* TOcciDatabase::getInstance(string usr, string passwd, string db) { if(_Instance == 0) { _Instance = new TOcciDatabase(usr,passwd,db); } return _Instance; }; class TOcciQuery { private: Connection *conn; Statement *stmt; bool isAutoCommit; TOcciQuery(){}; public : TOcciQuery(Connection *connect){ conn = connect; }; void beginTrans(); void commit(); void roolback(); boolean getAutoCommit(); ResultSet* executeQuery(string sql) ; void executeUpdate(string sql) ; void close() { if(stmt != NULL) conn->terminateStatement (stmt); }; void close(ResultSet* rs); }; void TOcciQuery::close(ResultSet* rs) { if(rs != NULL) stmt->closeResultSet (rs); if(stmt != NULL) conn->terminateStatement (stmt); }; void TOcciQuery::beginTrans() { try { isAutoCommit = stmt->getAutoCommit(); stmt->setAutoCommit(false); } catch(SQLException ex) { cout<<'Exception thrown for beginTrans'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } }; void TOcciQuery::commit() { try { conn->commit(); stmt->setAutoCommit(isAutoCommit); } catch(SQLException ex) { cout<<'Exception thrown for commit'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } }; void TOcciQuery::roolback() { try { conn->rollback(); stmt->setAutoCommit(isAutoCommit); } catch(SQLException ex) { cout<<'Exception thrown for roolback'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } }; boolean TOcciQuery::getAutoCommit() { boolean result = false; try { result = stmt->getAutoCommit(); } catch(SQLException ex) { cout<<'Exception thrown for getAutoCommit'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } return result; }; ResultSet* TOcciQuery::executeQuery(string sql) { ResultSet*rs = NULL; try { stmt = conn->createStatement(); rs = stmt->executeQuery(sql); } catch (SQLException ex) { cout<<'Exception thrown for executeQuery'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } return rs; }; void TOcciQuery::executeUpdate(string sql) { try { stmt = conn->createStatement(); stmt->executeUpdate(sql); } catch (SQLException ex) { cout<<'Exception thrown for executeUpdate'<cout<<'Error number: '<< ex.getErrorCode() << endl; cout<throw ex; } }; } #endif /*_OCCIDATABASE_H_*/ 測(cè)試程序main.cpp源碼如下: // occi.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。 // #include 'stdafx.h' #include 'TOcci.h' int _tmain(int argc, _TCHAR* argv[]) { using namespace happyever; TOcciQuery *query = new TOcciQuery(TOcciDatabase::getInstance('cal','cal','v2b76')->getConnect()); string strSQL = 'select count(*) from serv_value_total'; ResultSet* rs = query->executeQuery(strSQL); while(rs->next()) { std::cout<<'count = '<getInt(1)<} query->close(rs); delete(query); return 1; }

標(biāo)簽: Oracle 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91福利精品在线观看| 国产欧美日韩精品一区二区免费| 亚洲精品极品| 久久电影一区| 亚洲影视一区二区三区| 欧美一区91| 欧美激情福利| 成人在线免费观看网站| 精品丝袜在线| 久久精品动漫| 日韩视频中文| 日本在线不卡视频一二三区| 午夜电影一区| 欧美国产免费| 国产精品黄色片| 国产在线一区不卡| 正在播放日韩精品| 蜜臀久久久久久久| 国产精品免费不| 国产精品7m凸凹视频分类| 国产精品视频一区二区三区综合| 国产网站在线| 另类av一区二区| 国产videos久久| 亚洲精品综合| 国产在线|日韩| 国产精品一级| 中文在线中文资源| 久久精品97| 色婷婷亚洲mv天堂mv在影片| 不卡一区2区| 捆绑调教美女网站视频一区| 亚洲一区二区毛片| 欧美激情麻豆| 日本成人中文字幕| 99久久九九| 国产精品欧美三级在线观看| 婷婷综合五月| 国产h片在线观看| 麻豆精品在线观看| 国产精品人人爽人人做我的可爱| 久久精品国产久精国产| 亚洲综合专区| 亚洲男女av一区二区| 欧美日一区二区在线观看| 国产在线不卡| 亚洲美女久久精品| 91九色综合| 亚洲免费黄色| 欧美色图国产精品| 欧美一区三区| 日本在线高清| 日韩欧美另类一区二区| 亚洲天堂资源| 欧美黄色网页| 亚洲v在线看| 精品视频99| 国产日韩亚洲| 麻豆精品视频在线观看免费| 蜜臀国产一区二区三区在线播放| caoporn视频在线| 日韩免费精品| 国产精品一区亚洲| 美日韩精品视频| 亚洲免费黄色| 国产毛片久久| 久色成人在线| 亚洲天堂免费| 久久精品 人人爱| 日韩国产91| 久久久久久亚洲精品美女| 日韩高清国产一区在线| 蜜臀av在线播放一区二区三区| 蜜桃视频在线观看一区| 视频一区二区中文字幕| 亚洲作爱视频| 美女久久网站| 欧美一区二区三区久久| 老牛影视精品| 四虎成人精品一区二区免费网站| 国产欧美日韩在线一区二区| 欧美一区成人| 国产免费播放一区二区| 粉嫩av一区二区三区四区五区 | 99pao成人国产永久免费视频| 国产精品草草| 狠狠久久伊人中文字幕| 9999国产精品| 国产日韩电影| 视频精品一区二区| 美女精品久久| 国产亚洲精品自拍| 日韩国产欧美一区二区三区| av综合电影网站| 丝袜美腿亚洲一区| 日本不卡一区二区三区| 日本不卡不码高清免费观看 | 国产亚洲欧美日韩在线观看一区二区| av中文字幕在线观看第一页| 一级欧美视频| 日韩欧美一区二区三区免费观看| 日韩av网站在线免费观看| 日韩中文在线电影| 综合一区av| 免费亚洲一区| 三级欧美韩日大片在线看| 欧美偷窥清纯综合图区| 久久在线电影| 国产欧美三级| 三级一区在线视频先锋| 福利视频一区| 婷婷精品在线| 男女性色大片免费观看一区二区| 欧美激情视频一区二区三区免费 | 国产一区二区三区四区二区| 蜜臀久久99精品久久久画质超高清 | 日韩在线看片| 另类激情亚洲| 国产精品xvideos88| 亚洲精品一区二区妖精| 天堂√8在线中文| 卡一卡二国产精品| 国产乱码精品一区二区亚洲| 亚洲婷婷丁香| 久久精品国产大片免费观看| 色偷偷色偷偷色偷偷在线视频| 老司机精品在线| 成人午夜亚洲| 精品久久久久久久| 久久精品国产亚洲夜色av网站| 国产亚洲一区二区三区不卡| 日本va欧美va精品发布| 久久精品99久久久| 牛牛精品成人免费视频| 欧美片网站免费| 日韩国产一区二| 欧美激情91| 精品中文字幕一区二区三区 | 国产精品成人3p一区二区三区| 亚洲影视一区| 午夜久久av| 国产三级一区| 精品国产18久久久久久二百| 久久精品国产99国产| 久久亚洲资源中文字| 成人国产精品| 久久久久欧美精品| 丝袜美腿一区二区三区| 日韩中文字幕在线一区| 日韩精品中文字幕吗一区二区| 99亚洲视频| 国产午夜久久av| 久久婷婷国产| 婷婷国产精品| 欧美在线黄色| 亚洲黄色免费av| 黑森林国产精品av| 国产精品日本| 麻豆国产一区| 欧美a级一区| 日韩国产欧美三级| 午夜影院欧美| 国产欧美日韩一区二区三区四区| 毛片在线网站| 日韩av一区二区在线影视| 电影亚洲精品噜噜在线观看 | 日韩二区三区在线观看| 精品久久精品| 国产偷自视频区视频一区二区| 亚洲不卡视频| 秋霞影院一区二区三区| 亚洲aa在线| 国产精品www.| 亚洲精品国产日韩| 色婷婷精品视频| 美腿丝袜亚洲三区| 亚洲丝袜美腿一区| 国产一区二区三区亚洲综合| 妖精视频成人观看www| 成人在线视频免费看| 模特精品在线| av免费不卡国产观看| 欧美韩一区二区| 亚洲视频www| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 另类中文字幕国产精品| 久久国产乱子精品免费女| 不卡一区2区| 久久亚洲国产| 久久久蜜桃一区二区人| 红杏一区二区三区| 国产精品夜夜夜| 亚洲精选久久| 黄色成人精品网站| 丁香婷婷久久| 国产欧美日韩视频在线| 日本综合精品一区| 欧美午夜网站| 久久影院资源站| 日本一二区不卡|