| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /*************************************************************
- /* Copyright (C), 2008-2010, StoneU Tech. Co., Ltd.
- /* 文件名: DBConnection.h
- /* 作者: Jesse
- /* 创建日期: 2010-07-13
- /* 版本号: V1.0
- /* 描述:
- /* 其它:
- /* 主要类模块:
- /* 历史修改记录:
- 作者 时间 版本 描述
- Jesse 10/07/13 1.0 创建这个模块
- ***************************************************************/
- #ifndef _DBCONNECTION_H_
- #define _DBCONNECTION_H_
- #if _MSC_VER >= 1000
- #pragma once
- #endif // _MSC_VER >= 1000
- #ifdef STONU_DLL_EXPORTS
- #define STONU_DLL_API __declspec(dllexport)
- #else
- #define STONU_DLL_API __declspec(dllimport)
- #endif
- #include "ado.h"
- #include <list>
- using namespace std;
- namespace SToneUDB
- {
- const int DB_CONNECTION_STRING = 200;
- class STONU_DLL_API CDBConnection
- {
- public:
- // 构造函数
- CDBConnection();
- // 虚构函数
- ~CDBConnection();
- void Release();
- // 静态成员函数,提供全局访问的接口
- static CDBConnection* GetInstancePtr();
- static CDBConnection GetInstance();
- // 打开数据库连接,若连接成功,启动数据库连接检测线程
- bool OpenDataBase(char chConnectionString[DB_CONNECTION_STRING]);
- // 关闭数据库连接
- void CloseDataBase();
- // 获取数据库连接指针
- CADODatabase* GetADODataBase();
- // 获取数据库连接状态
- bool GetADODataBaseStatus();
- // 启动数据检测线程
- bool DBConnectionCheckThreadStart();
- // 关闭数据检测线程
- void DBConnectionCheckThreadStop();
-
- // 获取一个字段内容,多条记录用“,”号分割并存到pList1中(例:第一条记录字段1内容,第二条记录字段2内容)
- int GetFieldValueList1(char *pSql, list<string>& list1);
- // 获取两个字段内容
- int GetFieldValueList2(char *pSql, list<string>& list1, list<string>& list2);
- // 获取三个字段内容
- int GetFieldValueList3(char *pSql, list<string>& list1, list<string>& list2, list<string>& list3);
- // 获取四个字段内容
- int GetFieldValueList4(char *pSql, list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
- // 获取五个字段内容
- int GetFieldValueList5(char *pSql, list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4, list<string>& list5);
- // 获取六个字段内容
- int GetFieldValueList6(char *pSql, list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4, list<string>& list5, list<string>& list6);
- // 获取46个字段内容
- int GetFieldValueList46(char *pSql,
- list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4,
- list<string>& list5, list<string>& list6, list<string>& list7, list<string>& list8,
- list<string>& list9, list<string>& list10, list<string>& list11, list<string>& list12,
- list<string>& list13, list<string>& list14, list<string>& list15, list<string>& list16,
- list<string>& list17, list<string>& list18, list<string>& list19, list<string>& list20,
- list<string>& list21, list<string>& list22, list<string>& list23, list<string>& list24,
- list<string>& list25, list<string>& list26, list<string>& list27, list<string>& list28,
- list<string>& list29, list<string>& list30, list<string>& list31, list<string>& list32,
- list<string>& list33, list<string>& list34, list<string>& list35, list<string>& list36,
- list<string>& list37, list<string>& list38, list<string>& list39, list<string>& list40,
- list<string>& list41, list<string>& list42, list<string>& list43, list<string>& list44,
- list<string>& list45, list<string>& list46);
- // 获取68个字段内容
- int GetFieldValueList68(char *pSql,
- list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4,
- list<string>& list5, list<string>& list6, list<string>& list7, list<string>& list8,
- list<string>& list9, list<string>& list10, list<string>& list11, list<string>& list12,
- list<string>& list13, list<string>& list14, list<string>& list15, list<string>& list16,
- list<string>& list17, list<string>& list18, list<string>& list19, list<string>& list20,
- list<string>& list21, list<string>& list22, list<string>& list23, list<string>& list24,
- list<string>& list25, list<string>& list26, list<string>& list27, list<string>& list28,
- list<string>& list29, list<string>& list30, list<string>& list31, list<string>& list32,
- list<string>& list33, list<string>& list34, list<string>& list35, list<string>& list36,
- list<string>& list37, list<string>& list38, list<string>& list39, list<string>& list40,
- list<string>& list41, list<string>& list42, list<string>& list43, list<string>& list44,
- list<string>& list45, list<string>& list46, list<string>& list47, list<string>& list48,
- list<string>& list49, list<string>& list50, list<string>& list51, list<string>& list52,
- list<string>& list53, list<string>& list54, list<string>& list55, list<string>& list56,
- list<string>& list57, list<string>& list58, list<string>& list59, list<string>& list60,
- list<string>& list61, list<string>& list62, list<string>& list63, list<string>& list64,
- list<string>& list65, list<string>& list66, list<string>& list67, list<string>& list68);
- // 执行SQL语句,不返回记录集
- int Execute(char *pSql);
- // 打开数据库连接,若连接成功,启动数据库连接检测线程
- // 停止数据库连接检测线程,成功停止之后,关闭数据库连接
- // 检测数据库连接函数
- //
- private:
- // 全局惟一的一个实例,外部都通过该指针访问
- static CDBConnection* m_pDBConnection;
- // 线程句柄
- HANDLE m_hDBConnectionCheckThreadHandle;
- // 线程退出句柄
- HANDLE m_hRunObject;
- // ADO数据连接对象指针
- CADODatabase* m_pADODatabase;
- // ADO数据集对象指针,
- //CADORecordset* m_pADORSet;
- // 电脑轰鸣器状态, true:响
- bool m_bBeep;
-
- // 连接字符串
- char m_chConnectionString[DB_CONNECTION_STRING];
- static DWORD WINAPI DBConnectionCheckTreadProc(void *pPara);
- // 删除数据集
- void DeleteADORecordSet(CADORecordset* pRSet);
- // 打开数据集,成功返回TRUE,否则返回FALSE
- bool OpenADORecordSet(CADORecordset* pRSet, char *pSql);
- // 关闭数据集
- void CloseADORecordSet(CADORecordset* pRSet);
- // 判断连接对象是否打开
- bool GetADODateBaseStatus();
- };
- };
- #endif
|