From 55337c3876fa54863463ab7c30a7ed0fcb3c88e5 Mon Sep 17 00:00:00 2001
From: chenshijun <chenshijun@aiotlink.com>
Date: 星期四, 21 三月 2019 14:43:15 +0800
Subject: [PATCH] facesearchserver出现段错误,map的operater[],疑似该处,加些调试信息。
---
QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
index d264b87..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"
@@ -26,6 +27,14 @@
Json::Value responseJsonValue;
responseJsonValue["message"] = "娣诲姞澶辫触锛�";
responseJsonValue["success"] = "false";
+
+ std::map<std::string, std::string> whereKeyValues;
+ whereKeyValues["cam_dev_id"] = keyValuesToAdd["cam_dev_id"];
+ if (this->findCamDevList(whereKeyValues)["data"].size() > 0) {
+ responseJsonValue["message"] = "cam_dev_id exist锛�";
+ return responseJsonValue;
+ }
+
QMutexLocker mutexLocker(m_mutexVisit);//TODO
QSqlTableModel pModel(NULL, *m_db);
@@ -71,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();
@@ -110,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();
@@ -172,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