⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csybasedriver.cpp

📁 很好用的数据库连接组件
💻 CPP
字号:
/*=================================================================** 摘 要: 实现 sybase 驱动 sybase 查询结果集 sybase bcp 结果集==================================================================*/#include "stdafx.h"#include "CSybaseDriver.h"#include "CSqlCtlibrary.h"#include "CSybaseQueryResult.h"#include "CSybaseBcpResult.h"#include "comlog.h"//以下为CSYBASEDriver的实现/*================================================================================** 函数名称: CSYBASEDriver::CSYBASEDriver** 主要功能: 构造实现** 入口参数: 无 ** 序号 参数类型 参数名称 作用 说明** ** ** ** 出口参数:无** 修改记录:=================================================================================== */CSYBASEDriver::CSYBASEDriver ()	//构造函数{		LOG(NULL,0,"调用CSYBASEDriver");	thePrivate = new CSYBASEDriverPrivate ();	//构造私有类}CSYBASEDriver::~CSYBASEDriver ()	//析构函数{	delete thePrivate;		//析构私有类	thePrivate = NULL;}/*================================================================================** 函数名称: CSYBASEDriver::open** 主要功能: 打开联接**** 入口参数:** 序号 参数类型 参数名称 作用 说明** 1 string db 数据库** 2 string user 用户名** 3 string password 密码** 4 string host 主机名(对sybase为server名)** 5 string appname 应用名** 6 int port 端口(为了兼容,sybase不用)** 出口参数:** 类型: 作用** bool 成功返回true 否则返回false**** 修改记录=================================================================================== */bool  CSYBASEDriver::open (const string & db,		const string & user,const string & password,		const string & host, const string & appname, int port){	  	//TRACE("临时调试");	LOG(NULL,0,"执行打开数据库驱动操作");  	if (isOpen ())	{		LOG(NULL,0,"当前驱动已经打开,将其关闭,重新打开数据库驱动");  		close ();	}		if (thePrivate->syb_con_init () != SYBASE_RETURN_SUCCEED)	{		setOpen (false);		//置打开未为false		setOpenError (true);		//置错误位为true		ERRLOG(NULL,0,"初始化联接失败");		return false;	}	else	{		LOG(NULL,0,"数据库驱动联接初始化成功了,可以继续进行数据库驱动打开操作");	}	LOG(NULL,0,"数据库驱动联结打开......");	int nReturn =  thePrivate->syb_connect (user.c_str (), password.c_str (),\				 host.c_str (), db.c_str (), appname.c_str ());	//调用私有类的syb_connect函数实现联接	if (nReturn == SYBASE_RETURN_FAIL)	{		setOpen (false);		//置打开位为false		setOpenError (true);		//置错误位为true		ERRLOG(NULL,0,"数据库驱动联接失败");		return false;	}	#if 0	nReturn = thePrivate->syb_use_db ((char *) db.c_str ());	if (nReturn == SYBASE_RETURN_FAIL)	{		setOpen (false);		setOpenError (true);		return false;	}	#endif	LOG(NULL,0,"数据库驱动联接成功了,可以继续数据库操作");	setOpen (true);			//置打开位为true	setOpenError (false);		//置错误位为false		return true;}/*================================================================================** 函数名称: CSYBASEDriver::close** 主要功能: 关闭联接**** 入口参数:无** 序号 参数类型 参数名称 作用 说明**** 出口参数:无** 类型: 作用** **** 修改记录=================================================================================== */voidCSYBASEDriver::close (){  thePrivate->syb_con_cleanup ();	//调用私有类的syb_con_cleanup清除联接  setOpen (false);		//置打开位为false  setOpenError (false);		//置错误位为false}/*================================================================================** 函数名称: CSYBASEDriver::useDb** 主要功能: 应用db数据库**** 入口参数:** 序号 参数类型 参数名称 作用 说明** 1 string db 数据库名** ** 出口参数:** 类型: 作用** bool 成功返回true 否则返回false**** 修改记录=================================================================================== */boolCSYBASEDriver::useDb (const string & db) const{  int nResult = thePrivate->syb_use_db ((char *) db.c_str ());	//调用私有类的useDb函数  if (nResult == SYBASE_RETURN_SUCCEED)	//成功返回true  {    return true;  }  else				//失败返回false  {    return false;  }}CSqlQuery CSYBASEDriver::createQuery () const{	LOG(NULL,0,"以当前驱动为参数,构造查询结果集,返回基于此结果集的查询处理类");	return CSqlQuery (new CSYBASEResult (this));}CSqlBcp CSYBASEDriver::createBcp () const{	TRACE("CSqlBcp CSYBASEDriver::createBcp (....) ");	LOG(NULL,0,"以当前驱动为参数,构造bcp结果集,返回基于此驱动相关结果集的bcp处理类");	return CSqlBcp (new CSYBASEBcpResult (this));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -