eis/inc/dao/DbStandardDBAX.h

166 lines
5.1 KiB
C++

/*********************************************************************
*
* 文 件: DbStandardDBAX.h 用于数据库访问接口
*
* 版权所有: Shanghai Baosight Software Co., Ltd.
*
* 概述:
* :
* :
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
* 1.0 2012-03-21 rmbai modify auto commit
*
*********************************************************************/
#ifndef _DBSTANDARD_DBAX_H
#define _DBSTANDARD_DBAX_H
#include <string>
#include <string.h>
#include <iDA/iDA.h>
#ifdef _MSC_VER
#pragma warning(disable:4250) // disable warning saying "... via dominance ..."
#pragma warning(disable:4996)
#pragma warning(disable:4244)
#endif
using namespace std;
using namespace iPlature;
/*********************************************************************
* 类 名: DbStandardDBAX
* 版权所有: Shanghai Baosight Software Co., Ltd.
* 类 职 责:负责数据库的登录,注销
* :负责数据的提交和回滚
* :
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
*********************************************************************/
class DataBaseInfo
{
private:
static int iDBType;
static const int iNoRecord[24];
static void SetDBType( const string& dbType="ORACLE"){if(dbType=="ORACLE")iDBType=1;else if(dbType=="DB2")iDBType=2;else if( dbType=="SQLSERVER")iDBType=3;else if(dbType=="POSTGRESQL")iDBType=4;else iDBType=0;}
public:
//DataBaseInfo(){iNoRecord[2]={1403,100};}
/**********************************************************************
* 概述: 获取当前数据库类型
* 函数名: GetDBType
* 返回值: int 1:Oracle 2:DB2
* 参数列表: 参数类型 取值范围 描述
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
**********************************************************************/
static int GetDBType(){return iDBType;}
static int NoRecordCode(){return iNoRecord[iDBType];}
friend class DbStandardDBAX;
};
/*********************************************************************
* 类 名: DbStandardDBAX
* 版权所有: Shanghai Baosight Software Co., Ltd.
* 类 职 责:负责数据库的登录,注销
* :负责数据的提交和回滚
* :
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
*********************************************************************/
class DbStandardDBAX
{
private:
iDA::Command cmd;
protected:
public:
//
// constructor
//
public:
DbStandardDBAX();
virtual ~DbStandardDBAX();
//
// methods
//
public:
/**********************************************************************
* 概述: 登录数据库
* 函数名: dbLogin
* 返回值: char*
* 参数列表: 参数类型 取值范围 描述
* user: const char * 用户名
* password: const char * 密码
* dataBase: const char * 数据库
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
**********************************************************************/
char* dbLogin(const char* user,const char* password,const char* dataBase, const string& dbType="ORACLE");
//ORACLE
char* dbLogin(const char* fullname);
/**********************************************************************
* 概述: 注销登陆
* 函数名: dbLogout
* 返回值: char*
* 参数列表: 参数类型 取值范围 描述
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
**********************************************************************/
char* dbLogout();
public:
/**********************************************************************
* 概述: 提交事务
* 函数名: dbCommit
* 返回值: char*
* 参数列表: 参数类型 取值范围 描述
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
**********************************************************************/
char* dbCommit( );
public:
/**********************************************************************
* 概述: 回归事务
* 函数名: dbRollback
* 返回值: char*
* 参数列表: 参数类型 取值范围 描述
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
**********************************************************************/
char* dbRollback( );
/**********************************************************************
* 概述: 获取系统时间
* 函数名: getOracleDateTime
* 返回值: char*
* 参数列表: 参数类型 取值范围 描述
* dateTime: char *
*
* 版本历史
* 1.0 2010-09-02 echo_li 增加注释
*
**********************************************************************/
char* getOracleDateTime( char* dateTime);
}; // end of class
#endif // _DbStandard_DBAXH