235 lines
6.6 KiB
C++
235 lines
6.6 KiB
C++
#include "db_api_ex/CDbApi.h"
|
|
#include "CDbApi_impl.h"
|
|
|
|
using namespace iot_dbms;
|
|
|
|
CDbApi::CDbApi( EDbConnType eType )
|
|
{
|
|
m_pDbApiImpl = new CDbApi_impl( eType );
|
|
}
|
|
|
|
CDbApi::~CDbApi()
|
|
{
|
|
delete m_pDbApiImpl;
|
|
m_pDbApiImpl = NULL;
|
|
}
|
|
|
|
bool CDbApi::open()
|
|
{
|
|
return m_pDbApiImpl->open();
|
|
}
|
|
|
|
bool CDbApi::isOpen()
|
|
{
|
|
return m_pDbApiImpl->isOpen();
|
|
}
|
|
|
|
void CDbApi::close()
|
|
{
|
|
m_pDbApiImpl->close();
|
|
}
|
|
|
|
CDbPara CDbApi::getCurrentDbPara()
|
|
{
|
|
return m_pDbApiImpl->getCurrentDbPara();
|
|
}
|
|
|
|
// 事务
|
|
bool CDbApi::transaction()
|
|
{
|
|
return m_pDbApiImpl->transaction();
|
|
}
|
|
|
|
bool CDbApi::commit()
|
|
{
|
|
return m_pDbApiImpl->commit();
|
|
}
|
|
|
|
bool CDbApi::rollback()
|
|
{
|
|
return m_pDbApiImpl->rollback();
|
|
}
|
|
|
|
// execute
|
|
bool CDbApi::execute( const QString& sSql )
|
|
{
|
|
return m_pDbApiImpl->execute( sSql );
|
|
}
|
|
|
|
bool CDbApi::execute( const QString& sSql, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->execute( sSql, objQuery );
|
|
}
|
|
|
|
// select
|
|
bool CDbApi::select( const QString& sTableName, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, objQuery );
|
|
}
|
|
|
|
bool CDbApi::select( const QString& sTableName, const QList<QString>& listColName, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listColName, objQuery );
|
|
}
|
|
|
|
// select + one condition
|
|
bool CDbApi::select( const QString& sTableName, const CDbCondition& objCondition, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, objCondition, objQuery );
|
|
}
|
|
|
|
bool CDbApi::select( const QString& sTableName, const QList<QString>& listColName, const CDbCondition& objCondition, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listColName, objCondition, objQuery );
|
|
}
|
|
|
|
// select + many condition
|
|
bool CDbApi::select( const QString& sTableName, const QList<CDbCondition>& listCondition, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listCondition, objQuery );
|
|
}
|
|
|
|
bool CDbApi::select( const QString& sTableName, const QList<QString>& listColName, const QList<CDbCondition>& listCondition, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listColName, listCondition, objQuery );
|
|
}
|
|
|
|
// select + many order by
|
|
bool CDbApi::select( const QString& sTableName, const QList<CDbOrder>& listOrderBy, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listOrderBy, objQuery );
|
|
}
|
|
|
|
bool CDbApi::select( const QString& sTableName, const QList<QString>& listColName, const QList<CDbOrder>& listOrderBy, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listColName, listOrderBy, objQuery );
|
|
}
|
|
|
|
// select + one condition + many order by
|
|
bool CDbApi::select( const QString& sTableName, const CDbCondition& objCondition, const QList<CDbOrder>& listOrderBy, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, objCondition, listOrderBy, objQuery );
|
|
}
|
|
|
|
bool CDbApi::select( const QString& sTableName, const QList<QString>& listColName, const CDbCondition& objCondition, const QList<CDbOrder>& listOrderBy, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listColName, objCondition, listOrderBy, objQuery );
|
|
}
|
|
|
|
// select + many condition + many order by
|
|
bool CDbApi::select( const QString& sTableName, const QList<CDbCondition>& listCondition, const QList<CDbOrder>& listOrderBy, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listCondition, listOrderBy, objQuery );
|
|
}
|
|
|
|
bool CDbApi::select( const QString& sTableName, const QList<QString>& listColName, const QList<CDbCondition>& listCondition, const QList<CDbOrder>& listOrderBy, QSqlQuery& objQuery )
|
|
{
|
|
return m_pDbApiImpl->select( sTableName, listColName, listCondition, listOrderBy, objQuery );
|
|
}
|
|
|
|
// insert
|
|
bool CDbApi::insert( const QString& sTableName, const QList<QString>& listColName, const QList<QVariant>& listVal )
|
|
{
|
|
return m_pDbApiImpl->insert( sTableName, listColName, listVal );
|
|
}
|
|
|
|
bool CDbApi::insert( const QString& sTableName, const QList<QString>& listColName, const QList<QList<QVariant> >& listVal, int nMaxRowInOneSql )
|
|
{
|
|
return m_pDbApiImpl->insert( sTableName, listColName, listVal, nMaxRowInOneSql );
|
|
}
|
|
|
|
// update
|
|
bool CDbApi::update( const QString& sTableName, const QList<QString>& listColName, const QList<QVariant>& listVal )
|
|
{
|
|
return m_pDbApiImpl->update( sTableName, listColName, listVal );
|
|
}
|
|
|
|
bool CDbApi::update( const QString& sTableName, const QList<QString>& listColName, const QList<QVariant>& listVal, const CDbCondition& objCondition )
|
|
{
|
|
return m_pDbApiImpl->update( sTableName, listColName, listVal, objCondition );
|
|
}
|
|
|
|
bool CDbApi::update( const QString& sTableName, const QList<QString>& listColName, const QList<QVariant>& listVal, const QList<CDbCondition>& listCondition )
|
|
{
|
|
return m_pDbApiImpl->update( sTableName, listColName, listVal, listCondition );
|
|
}
|
|
|
|
// delete
|
|
bool CDbApi::deleteRow( const QString& sTableName )
|
|
{
|
|
return m_pDbApiImpl->deleteRow( sTableName );
|
|
}
|
|
|
|
bool CDbApi::deleteRow( const QString& sTableName, const CDbCondition& objCondition )
|
|
{
|
|
return m_pDbApiImpl->deleteRow( sTableName, objCondition );
|
|
}
|
|
|
|
bool CDbApi::deleteRow( const QString& sTableName, const QList<CDbCondition>& listCondition )
|
|
{
|
|
return m_pDbApiImpl->deleteRow( sTableName, listCondition );
|
|
}
|
|
|
|
// drop
|
|
bool CDbApi::drop( const QString& sTableName )
|
|
{
|
|
return m_pDbApiImpl->drop( sTableName );
|
|
}
|
|
// max
|
|
QVariant CDbApi::getMaxValueByCol( const QString& sTableName, const QString& sColName )
|
|
{
|
|
return m_pDbApiImpl->getMaxValueByCol( sTableName, sColName );
|
|
}
|
|
|
|
// 获取最后一个执行语句
|
|
QString CDbApi::getLastSqlString() const
|
|
{
|
|
return m_pDbApiImpl->getLastSqlString();
|
|
}
|
|
|
|
// 获取最后一个错误语句,仅在修改操作返回失败时可信
|
|
QString CDbApi::getLastErrorSqlString() const
|
|
{
|
|
return m_pDbApiImpl->getLastErrorSqlString();
|
|
}
|
|
|
|
// 获取最后一个错误信息,仅在修改操作返回失败时可信
|
|
QString CDbApi::getLastErrorString() const
|
|
{
|
|
return m_pDbApiImpl->getLastErrorString();
|
|
}
|
|
|
|
// 获取最后一个错误编号,仅在修改操作返回失败时可信
|
|
int CDbApi::getLastErrorNumber() const
|
|
{
|
|
return m_pDbApiImpl->getLastErrorNumber();
|
|
}
|
|
|
|
// 不同的数据库对特殊表名、列名的引用方式不一样
|
|
QString CDbApi::addQuoteMarks( const QString& sStr ) const
|
|
{
|
|
return m_pDbApiImpl->addQuoteMarks( sStr );
|
|
}
|
|
|
|
// 转义
|
|
QString CDbApi::convertQuoteMarks( const QString& sStr ) const
|
|
{
|
|
return m_pDbApiImpl->convertQuoteMarks( sStr );
|
|
}
|
|
|
|
// 将时间转化为对应数据库的字符串
|
|
QString CDbApi::convertToSqlString( const QDateTime& dt ) const
|
|
{
|
|
return m_pDbApiImpl->convertToSqlString( dt );
|
|
}
|
|
|
|
// 获取服务所在的机器名,空字符串表示获取失败
|
|
QString CDbApi::getHostName()
|
|
{
|
|
return m_pDbApiImpl->getHostName();
|
|
}
|
|
|
|
|
|
|
|
|