派生自 development/c++

zhangjixing
2019-01-18 9f08028f23d9e5cbfa159bec1e07d63b141a6809
QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp
@@ -356,11 +356,23 @@
    pModel_cam.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
    pModel_cam.select();
//    QSqlTableModel pModel_sdk(NULL, m_db);
//    pModel_sdk.setTable("cam_sdk");
//    pModel_sdk.setFilter(QObject::tr("cam_dev_id = '%1'").arg(strCamId));
//    pModel_sdk.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
//    pModel_sdk.select();
    QSqlTableModel pModel_sdk(NULL, m_db);
    pModel_sdk.setTable("cam_sdk");
    pModel_sdk.setFilter(QObject::tr("cam_dev_id = '%1'").arg(strCamId));
    pModel_sdk.setTable("sdk_rule");
    pModel_sdk.setFilter(QObject::tr("cam_id = '%1'").arg(strCamId));
    pModel_sdk.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
    pModel_sdk.select();
    QSqlTableModel pModel_week(NULL, m_db);
    pModel_week.setTable("rule_week");
    pModel_week.setFilter(QObject::tr("camera_id = '%1'").arg(strCamId));
    pModel_week.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
    pModel_week.select();
    int rowCount_cam = pModel_cam.rowCount();
    if (rowCount_cam >= 1) {
@@ -376,17 +388,25 @@
        }
    }
    int rowCount_week = pModel_week.rowCount();
    if (rowCount_week >= 1) {
        for (int i = 0; i < rowCount_week; i++) {
            pModel_week.removeRow(i);//TODO
        }
    }
    m_db.transaction();//开始事务操作
    if (pModel_cam.submitAll() && \
        pModel_sdk.submitAll()) {
        pModel_sdk.submitAll() && pModel_week.submitAll()) {
        m_db.commit();//提交
        return true;
    } else {
        m_db.rollback();//回滚
        ERR("deleteLDeviceTable err ,Database Error: " \
 << pModel_cam.lastError().text().toStdString() \
 << pModel_sdk.lastError().text().toStdString());
 << pModel_sdk.lastError().text().toStdString() \
 << pModel_week.lastError().text().toStdString() );
        //        QMessageBox::warning(NULL,QObject::tr("deleteLDeviceTable"),QObject::tr("Database Error: %1").arg(pModel.lastError().text()));
        return false;
    }
@@ -478,7 +498,20 @@
    return lst;
}
bool LDBTool::searchCamDevByCamId(QString strCamId)
{
    QMutexLocker mutexLocker(&m_mutexVisit);//TODO
    std::list<Record_Cam_Dev> lst;
    QSqlTableModel pModel(NULL, m_db);
    pModel.setTable("cam_dev");
    pModel.setFilter(QObject::tr("cam_dev_id ='%1' and cam_dev_id != '' and cam_dev_id is not null").arg(strCamId));
    pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
    pModel.select();
    int rowCount = pModel.rowCount();
    return rowCount > 0;
}
//chn==========================
///