成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

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

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

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; }

相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美群妇大交群的观看方式| 国产精品日韩欧美一区二区| av成人免费观看| 午夜精品久久久久久久久久| 国产偷国产偷亚洲高清人白洁| 国产午夜精品一区二区三区视频| 亚洲午夜免费视频| 蜜臀精品一区二区三区在线观看| 欧美三级日韩三级| 国产xxx精品视频大全| 亚洲精品中文在线影院| 国产午夜亚洲精品午夜鲁丝片| 中文字幕一区二区三区在线不卡| www.亚洲色图.com| 国产成人免费在线观看不卡| 一二三四社区欧美黄| 欧美高清dvd| 欧美在线不卡| 一区二区三区日韩在线观看| 欧美一级淫片007| 国产日韩精品一区二区三区在线| 免费一级片91| 亚洲黄一区二区三区| 伊人色综合久久天天| 国产精品1区2区3区在线观看| 激情欧美亚洲| 日韩欧美久久一区| 久久精品免费看| 亚洲丰满少妇videoshd| 日韩美一区二区三区| 免费在线观看一区二区| 亚洲永久字幕| 欧美一级日韩免费不卡| 亚洲第一激情av| 亚洲欧洲三级| 欧美精品三区| 成人激情免费电影网址| 久久99在线观看| 中文字幕在线观看不卡| 乱人伦精品视频在线观看| 91性感美女视频| 色欧美片视频在线观看| 精品少妇一区二区三区在线播放 | 日韩亚洲欧美一区二区三区| 一区二区三区在线播放| 黄色成人精品网站| 欧美日韩一视频区二区| 你懂的国产精品永久在线| 国产成+人+日韩+欧美+亚洲 | 中文子幕无线码一区tr| 欧美尤物一区| 老妇喷水一区二区三区| 一本久久综合| 欧美福利视频| 欧美一区成人| 日本不卡的三区四区五区| 91精品国产综合久久福利软件| 欧美综合久久久| 亚洲成av人综合在线观看| 精品亚洲成a人在线观看 | 精品国产99国产精品| 亚洲成人资源在线| 欧美高清视频一区| 国产农村妇女毛片精品久久麻豆 | 久久黄色级2电影| 欧美亚洲丝袜传媒另类| 国产精品免费观看视频| 国产精品乱人伦| 国产精品久久久久aaaa樱花| 日本一区二区三区久久久久久久久不 | 国产欧美日产一区| 免费日本视频一区| 日本福利一区二区| 国产在线乱码一区二区三区| 中文字幕乱码一区二区免费| 欧美成人福利视频| 国产在线视频精品一区| 国产精品久久久久影院亚瑟 | 日韩和的一区二区| 亚洲一区在线免费| 亚洲午夜一二三区视频| 欧美色爱综合网| 欧美fxxxxxx另类| 最新中文字幕一区二区三区 | 久久精品国产第一区二区三区| 在线不卡a资源高清| 韩国亚洲精品| 蜜桃一区二区三区四区| 国产午夜亚洲精品理论片色戒 | 红桃视频欧美| 久久国产精品第一页| 欧美电影在线免费观看| 欧美日韩一区二区三区高清 | 色综合天天天天做夜夜夜夜做| 国产精品久久久久久久久动漫 | 成人一区二区在线观看| 国产中文字幕精品| 亚洲人成网站在线| 久久精品亚洲精品国产欧美kt∨| 欧美在线观看你懂的| 国产精品一区二区三区观看| 欧美日韩三级| 午夜视频一区| 国产综合视频| 成人晚上爱看视频| 欧美精品一区二区三区高清aⅴ| 欧美一区二区私人影院日本| 在线电影欧美成精品| 在线观看国产91| 在线观看国产91| 欧美日韩精品一区二区在线播放 | 国产成人精品免费在线| 精品一区二区三区在线播放| 久久av资源站| 国产东北露脸精品视频| 人人超碰91尤物精品国产| 日韩成人一区二区三区在线观看| 日本亚洲一区二区| 日本午夜一区二区| 亚洲电影视频在线| 亚洲成人综合网站| 午夜a成v人精品| 婷婷综合另类小说色区| 日韩精品成人一区二区三区| 亚洲午夜一区二区三区| 婷婷中文字幕一区三区| 日本在线播放一区二区三区| 国产在线精品一区二区夜色| 精品一区中文字幕| 欧美一区二区精品在线| 久久精品综合| 亚洲精品无人区| 亚洲人www| 亚洲黄色精品| 亚洲精华国产欧美| 亚洲国产高清一区| 国产v综合v亚洲欧| 粉嫩绯色av一区二区在线观看| 国产一区二区三区免费在线观看| 蜜桃精品视频在线| 麻豆精品国产91久久久久久| 一区二区三区美女视频| 亚洲一区二区五区| 亚洲成人av一区二区三区| 日本欧洲一区二区| 国内外精品视频| 成人黄页毛片网站| 91麻豆视频网站| 伊人狠狠色j香婷婷综合| 日韩午夜精品| 一本大道久久精品懂色aⅴ| 欧美性色综合网| 制服丝袜在线91| 国产精品美女久久久久久久久久久| 欧美高清精品3d| 欧美岛国在线观看| 欧美电视剧免费观看| 国产亚洲精品bt天堂精选| 国产精品妹子av| 亚洲国产aⅴ成人精品无吗| 男人的天堂久久精品| 国产精品一二一区| 午夜电影亚洲| 亚洲影音先锋| 欧美日韩1区2区| 精品999久久久| 一区二区三区成人| 美女视频免费一区| av在线播放不卡| 先锋影音国产精品| 制服丝袜亚洲色图| 中文字幕精品一区二区精品绿巨人| 在线一区二区三区| 一本一道久久a久久精品| 欧美精选一区二区| 国产欧美一二三区| 午夜精品福利在线| 国产99久久久国产精品免费看| 欧美精品国产一区| 色av一区二区| 2019国产精品| 五月天亚洲婷婷| av在线播放成人| 久久久久91| 中文字幕第一区| 麻豆91在线播放免费| 成人午夜视频福利| 国产日韩一区| 欧美精品一区在线观看| 肉肉av福利一精品导航| 成人avav影音| 色婷婷综合在线| 国产精品麻豆久久久| 国产中文一区二区三区| 午夜亚洲视频| 国产欧美日产一区| 九九久久精品视频| 亚洲少妇自拍| 中文字幕免费不卡在线| 国产一区二区三区蝌蚪|