#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& 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& 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& listCondition, QSqlQuery& objQuery ) { return m_pDbApiImpl->select( sTableName, listCondition, objQuery ); } bool CDbApi::select( const QString& sTableName, const QList& listColName, const QList& listCondition, QSqlQuery& objQuery ) { return m_pDbApiImpl->select( sTableName, listColName, listCondition, objQuery ); } // select + many order by bool CDbApi::select( const QString& sTableName, const QList& listOrderBy, QSqlQuery& objQuery ) { return m_pDbApiImpl->select( sTableName, listOrderBy, objQuery ); } bool CDbApi::select( const QString& sTableName, const QList& listColName, const QList& 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& listOrderBy, QSqlQuery& objQuery ) { return m_pDbApiImpl->select( sTableName, objCondition, listOrderBy, objQuery ); } bool CDbApi::select( const QString& sTableName, const QList& listColName, const CDbCondition& objCondition, const QList& 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& listCondition, const QList& listOrderBy, QSqlQuery& objQuery ) { return m_pDbApiImpl->select( sTableName, listCondition, listOrderBy, objQuery ); } bool CDbApi::select( const QString& sTableName, const QList& listColName, const QList& listCondition, const QList& listOrderBy, QSqlQuery& objQuery ) { return m_pDbApiImpl->select( sTableName, listColName, listCondition, listOrderBy, objQuery ); } // insert bool CDbApi::insert( const QString& sTableName, const QList& listColName, const QList& listVal ) { return m_pDbApiImpl->insert( sTableName, listColName, listVal ); } bool CDbApi::insert( const QString& sTableName, const QList& listColName, const QList >& listVal, int nMaxRowInOneSql ) { return m_pDbApiImpl->insert( sTableName, listColName, listVal, nMaxRowInOneSql ); } // update bool CDbApi::update( const QString& sTableName, const QList& listColName, const QList& listVal ) { return m_pDbApiImpl->update( sTableName, listColName, listVal ); } bool CDbApi::update( const QString& sTableName, const QList& listColName, const QList& listVal, const CDbCondition& objCondition ) { return m_pDbApiImpl->update( sTableName, listColName, listVal, objCondition ); } bool CDbApi::update( const QString& sTableName, const QList& listColName, const QList& listVal, const QList& 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& 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(); }