프로젝트 이름 변경
FilterProcess -> Legacy_FilterProcess로 변경 sfilterprocess -> FilterProcess로 변경 git-svn-id: svn://192.168.0.12/source@316 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
124
FilterProcess/sdbmanager.cpp
Normal file
124
FilterProcess/sdbmanager.cpp
Normal file
@@ -0,0 +1,124 @@
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QSqlError>
|
||||
#include <QVariant>
|
||||
#include "sdbmanager.h"
|
||||
|
||||
void SDBManager::addDatabase(const QString& _dbName,const QString& _host,const QString& _id, const QString& _pw, const QString& _db, const int& _port)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", _dbName);
|
||||
db.setHostName(_host);
|
||||
db.setUserName(_id);
|
||||
db.setPassword(_pw);
|
||||
db.setDatabaseName(_db);
|
||||
db.setPort(_port);
|
||||
}
|
||||
|
||||
|
||||
void SDBManager::addDatabase(const QString& _dbName, const E_DATABASE& _eDatabase, const QString& _host, const QString& _id, const QString& _pw, const QString& _db, const int& _port)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", _dbName);
|
||||
db.setHostName(_host);
|
||||
db.setUserName(_id);
|
||||
db.setPassword(_pw);
|
||||
db.setDatabaseName(_db);
|
||||
db.setPort(_port);
|
||||
m_mapDBname.insert(_eDatabase, _dbName);
|
||||
}
|
||||
|
||||
QSqlDatabase SDBManager::getDBConnection(const QString& _dbName) const
|
||||
{
|
||||
return QSqlDatabase::database(_dbName);
|
||||
}
|
||||
|
||||
QSqlDatabase SDBManager::getDBConnection(const E_DATABASE& _eDatabase) const
|
||||
{
|
||||
return QSqlDatabase::database(m_mapDBname.value(_eDatabase));
|
||||
}
|
||||
|
||||
bool SDBManager::open(const QString& _dbName)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::database(_dbName);
|
||||
return db.open();
|
||||
}
|
||||
|
||||
bool SDBManager::open(const E_DATABASE& _eDatabase)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::database(m_mapDBname.value(_eDatabase));
|
||||
return db.open();
|
||||
}
|
||||
|
||||
void SDBManager::close(const E_DATABASE& _eDatabase)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::database(m_mapDBname.value(_eDatabase));
|
||||
db.close();
|
||||
}
|
||||
|
||||
void SDBManager::close(const QString& _dbName)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::database(_dbName);
|
||||
db.close();
|
||||
}
|
||||
|
||||
void SDBManager::close()
|
||||
{
|
||||
QStringList strlist = QSqlDatabase::connectionNames();
|
||||
foreach (const QString& str, strlist)
|
||||
QSqlDatabase::database(str).close();
|
||||
}
|
||||
|
||||
QSqlQuery SDBManager::sqlQuery(const E_DATABASE& _eDatabase)
|
||||
{
|
||||
QSqlQuery query(QSqlDatabase::database(m_mapDBname.value(_eDatabase)));
|
||||
return query;
|
||||
}
|
||||
|
||||
QSqlQuery SDBManager::sqlQuery(const QString& _dbName)
|
||||
{
|
||||
QSqlQuery query(QSqlDatabase::database(_dbName));
|
||||
return query;
|
||||
}
|
||||
|
||||
bool SDBManager::reOpen(const QString& _dbName)
|
||||
{
|
||||
close(_dbName);
|
||||
return open(_dbName);
|
||||
}
|
||||
|
||||
bool SDBManager::reOpen(const E_DATABASE& _eDatabase)
|
||||
{
|
||||
close(_eDatabase);
|
||||
return open(_eDatabase);
|
||||
}
|
||||
|
||||
bool SDBManager::isConnectionError(const QSqlError& _error)
|
||||
{
|
||||
if(_error.number() == 2013 || _error.number() == 2006 || _error.number() == 10054)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
SDBManager::~SDBManager()
|
||||
{
|
||||
QStringList strlist = QSqlDatabase::connectionNames();
|
||||
foreach (const QString& str, strlist)
|
||||
{
|
||||
QSqlDatabase db = QSqlDatabase::database(str);
|
||||
if(db.isOpen())
|
||||
db.close();
|
||||
}
|
||||
foreach (const QString& str, strlist)
|
||||
QSqlDatabase::removeDatabase(str);
|
||||
}
|
||||
|
||||
QSqlDatabase SDBManager::operator[](const QString& _dbName) const
|
||||
{
|
||||
return QSqlDatabase::database(_dbName);
|
||||
}
|
||||
|
||||
QSqlDatabase SDBManager::operator[](const E_DATABASE& _eDatabase) const
|
||||
{
|
||||
return QSqlDatabase::database(m_mapDBname.value(_eDatabase));
|
||||
}
|
||||
Reference in New Issue
Block a user