From da184ac7eef8ca74e12bdc63abf205e2fd5f9917 Mon Sep 17 00:00:00 2001
From: pans <pansen626@sina.com>
Date: 星期三, 03 四月 2019 09:42:55 +0800
Subject: [PATCH] 云南调试

---
 QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
index 3bb9da3..a1b4f9d 100644
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
@@ -8,12 +8,15 @@
 #include <iostream>
 #include <mysql++.h>
 #include <AppConfig.h>
+#include <QtCore/QMutex>
 
 using namespace std;
 
-static mysqlpp::Connection *conn;
-
 class BaseDao {
+public:
+    static QMutex m_mutexVisit;
+private:
+    static mysqlpp::Connection *conn;
 public:
     static mysqlpp::SimpleResult add(std::map<std::string, std::string> &columns, string tableName) {
         initConnection();
@@ -77,9 +80,12 @@
         return rowDataList;
     }
 
-    static Json::Value findJsonArray(string sql) {
+    static Json::Value findJsonArray(string sql, std::map<std::string, std::string> &whereColumns) {
+        sql = sql + getWhereColumnNameValuePair(whereColumns);
         initConnection();
+//        conn->query("SET character_set_server = utf8;");
         mysqlpp::Query query = conn->query(sql);
+        std::cout << sql << std::endl;
         Json::Value rowList;
         if (auto res = query.store()) {
             for (auto it = res.begin(); it != res.end(); ++it) {
@@ -92,11 +98,15 @@
                         columnValue = "";
                     }
                     string columnName = fieldNames[0].at(i);
+//                    if (columnName == "Nickname") {
+//                        columnValue = columnValue;//.substr(0, 20);
+//                    }
                     row[columnName] = columnValue;
                 }
                 rowList.append(row);
             }
         } else {
+            cout << "error " << query.error() << endl;
             cout << "query failed" << endl;
         }
         return rowList;
@@ -133,6 +143,8 @@
     }
 
     static void doConnect() {
+        cout << "db_host=" << appConfig.getStringProperty("db_host").c_str() << endl;
+        conn->set_option(new mysqlpp::SetCharsetNameOption("utf8"));
         if (conn->connect(
             appConfig.getStringProperty("database").c_str(),
             appConfig.getStringProperty("db_host").c_str(),
@@ -148,6 +160,7 @@
 //                3306
 //        )) {
             cout << "connect success" << endl;
+            mysqlpp::Query query = conn->query("SET NAMES UTF8-");
         } else {
             cout << "connect failed" << endl;
         }
@@ -158,6 +171,7 @@
         if (!inited) {
             inited = true;
             conn = new mysqlpp::Connection(false);
+
             doConnect();
         }
         if (!conn->connected() || !conn->ping()) {

--
Gitblit v1.8.0