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

📄 csqlconnection.cpp

📁 很好用的数据库连接组件
💻 CPP
字号:
#include "CSqlConnection.h" #include "comlog.h"const char*const CSqlConnection::defaultConnection="private_sql_default_connection" ;// 缺省连接名CSqlConnection *CSqlConnection::addConnection(const string&type,const string&connectionName){		LOG2(NULL,0,"调用CSqlConnection类方法addConnection(...)增加连接[%s],连接类型为[%s]",\			connectionName.c_str(),type.c_str());	return CSqlConnectionManager::addConnection(new CSqlConnection(type,connectionName),connectionName);}/*   取得连接。*/CSqlConnection *CSqlConnection::connection(const string&connectionName,bool open){	return CSqlConnectionManager::connection(connectionName,open);}void CSqlConnection::removeConnection(const string&connectionName){	CSqlConnectionManager::removeConnection(connectionName);}/*!    Returns TRUE if the list of database connections contains \a    connectionName; otherwise returns FALSE.*/bool CSqlConnection::contains(const string&connectionName){	LOG1(NULL,0,"调用CSqlConnection类方法contains(...)判断连接[%s]是否存在",connectionName.c_str());	return CSqlConnectionManager::contains(connectionName);}CSqlConnection::CSqlConnection(const string&driver,const string&name){	LOG2(NULL,0,"调用CSqlConnection::CSqlConnection(%s,%s)",driver.c_str(),name.c_str());	init(driver,name);}void CSqlConnection::init(const string&type,const string&name){	LOG2(NULL,0,"调用CSqlConnection::init(%s,%s)",type.c_str(),name.c_str());		d=new CSqlConnectionPrivate();	d->drvName=type ;		if(!d->driver)	{        	#ifdef SQL_SYBASE         	LOG(NULL,0,"创建SYBASE驱动");        	d->driver=new CSYBASEDriver();		      #endif        	#ifdef SQL_ORACLE         	LOG(NULL,0,"创建ORACLE驱动");        	d->driver=new CORACLEDriver();        	#endif     	}        	if(!d->driver)    	{       		d->driver=new CNullDriver();        	// give use a warn messge indicate the dirvier no fount !!        	d->driver->setLastError(CSqlError("Driver not loaded","Driver not loaded"));    	}}/*!    Destroys the object and frees any allocated resources.*/CSqlConnection ::~CSqlConnection(){	delete d->driver ;	d->driver=NULL ;	delete d ;	d=NULL ;}/*!执行sql语句*/CSqlQuery CSqlConnection::exec(const string&query)const {	CSqlQuery r=d->driver->createQuery();	if(query!="")	{		r.exec(query);		d->driver->setLastError(r.lastError());	}	return r ;}CSqlBcp CSqlConnection::bcp(const string&table)const {	CSqlBcp r=d->driver->createBcp();	if(table!="")	{		r.begin(table);		d->driver->setLastError(r.lastError());	}	return r ;}bool CSqlConnection::useDb(const string&db)const {	return d->driver->useDb(db);}/*!打开数据库连接*/bool CSqlConnection::open(){	//TRACE("临时调试");	bool ret=d->driver->open(d->dbname,d->uname,d->pword,d->hname,d->appName,d->port);	return ret ;}/*!用指定的用户名密码打开数据库*/bool CSqlConnection::open(const string&user,const string&password){	setUserName(user);	setPassword(password);	return open();}/*!    Closes the database connection, freeing any resources acquired.*/void CSqlConnection::close(){	d->driver->close();}/*!数据库是否打开了*/bool CSqlConnection::isOpen()const {    return d->driver->isOpen();}/*!数据库打开是否失败*/bool CSqlConnection::isOpenError()const {    return d->driver->isOpenError();}/*!数据库名*/void CSqlConnection::setDatabaseName(const string&name){    d->dbname=name ;}/*!设置用户名*/void CSqlConnection::setUserName(const string&name){    d->uname=name ;}/*!设置密码*/void CSqlConnection::setPassword(const string&password){    d->pword=password ;}/*!主机名或server名*/void CSqlConnection::setHostName(const string&host){    d->hname=host ;}/*!设置端口*/void CSqlConnection::setPort(int p){    d->port=p ;}string CSqlConnection::databaseName()const {    return d->dbname ;}string CSqlConnection::userName()const {    return d->uname ;}string CSqlConnection::password()const {    return d->pword ;}string CSqlConnection::hostName()const {    return d->hname ;}/*!    Returns the name of the driver used by the database connection.*/string CSqlConnection::driverName()const {    return d->drvName ;}int CSqlConnection::port()const {    return d->port ;}void CSqlConnection::setAppName(const string&app){    d->appName=app ;}string CSqlConnection::appName()const {    return d->appName ;}/*!    Returns the database driver used to access the database    connection.*/CSqlDriver *CSqlConnection::driver()const {	//TRACE("临时调试");	return d->driver ;}/*!    Returns information about the last error that occurred on the    database. See CSqlError for more information.*/CSqlError CSqlConnection::lastError()const {    return d->driver->lastError();}

⌨️ 快捷键说明

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