From cdfb8eb2a956d25d688033be735f4741b2ab58bd Mon Sep 17 00:00:00 2001
From: xuxiuxi <554325746@qq.com>
Date: 星期五, 15 三月 2019 09:48:42 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of http://192.168.1.226:10010/r/development/c++ into yw.1.2.fixbug

---
 QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
index 89df109..93aba70 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
@@ -4,6 +4,7 @@
 
 #include "../model/CamDev.h"
 #include "BaseSqliteDao.h"
+#include <qsqlfield.h>
 
 #define CamDev_TABLE_NAME "cam_dev"
 
@@ -79,8 +80,9 @@
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(CamDev_TABLE_NAME);
-        for (auto whereKeyValue : whereKeyValues ) {
-            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
+        if (whereKeyValues.size() > 0) {
+            auto filter = QObject::tr((string(" 1=1 ")+getWhereColumnNameValuePair(whereKeyValues)).c_str());
+            pModel.setFilter(filter);
         }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
@@ -118,8 +120,9 @@
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(CamDev_TABLE_NAME);
-        for (auto whereKeyValue : whereKeyValues) {
-            pModel.setFilter(QObject::tr((whereKeyValue.first + " = '%1'").c_str()).arg(QString::fromStdString(whereKeyValue.second)));
+        if (whereKeyValues.size() > 0) {
+            auto filter = QObject::tr((string(" 1=1 ")+getWhereColumnNameValuePair(whereKeyValues)).c_str());
+            pModel.setFilter(filter);
         }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
@@ -180,8 +183,9 @@
         std::list<Record_Cut_Video_info> lst;
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(CamDev_TABLE_NAME);;
-        for (auto whereKeyValue : whereKeyValues ) {
-            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
+        if (whereKeyValues.size() > 0) {
+            auto filter = QObject::tr((string(" 1=1 ")+getWhereColumnNameValuePair(whereKeyValues)).c_str());
+            pModel.setFilter(filter);
         }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();

--
Gitblit v1.8.0