From 5d1c1b6c98a04f20d94ff1d102933ce5a01858e5 Mon Sep 17 00:00:00 2001 From: "work-zym\\zhangyiming" <1131393555@qq.com> Date: Tue, 19 Nov 2024 17:29:58 +0800 Subject: [PATCH] =?UTF-8?q?1=20=E6=95=B0=E6=8D=AE=E5=BA=93=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E7=94=9F=E6=88=90=E5=B8=AE=E5=8A=A9=E7=B1=BB=E3=80=81?= =?UTF-8?q?=202=20=E6=95=B0=E6=8D=AE=E7=AE=A1=E7=90=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/xyylMCWEACSystem.exe | Bin 1442816 -> 1463296 bytes xyylMCWEACSystem/SqlGenerate.cpp | 211 ++++++++++++++++++++++++++ xyylMCWEACSystem/SqlGenerate.h | 33 ++++ xyylMCWEACSystem/datamanager.cpp | 24 +++ xyylMCWEACSystem/datamanager.h | 22 +++ xyylMCWEACSystem/xyylMCWEACSystem.pro | 4 + 6 files changed, 294 insertions(+) create mode 100644 xyylMCWEACSystem/SqlGenerate.cpp create mode 100644 xyylMCWEACSystem/SqlGenerate.h create mode 100644 xyylMCWEACSystem/datamanager.cpp create mode 100644 xyylMCWEACSystem/datamanager.h diff --git a/bin/xyylMCWEACSystem.exe b/bin/xyylMCWEACSystem.exe index 89fee607a4acec6f95d1c2d8702ae17008d2b6ca..9ababc896c6c686fbbb4067ee6bbc1a0af155324 100644 GIT binary patch delta 94220 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 + +SqlGenerate::SqlGenerate() +{ + +} + +SqlGenerate::~SqlGenerate() +{ + +} + +QString SqlGenerate::createTable(QString table, QMap map) +{ + QString content = QString("create table %1 (").arg(table); + QMapIterator i(map); + while (i.hasNext()) + { + i.next(); + content.append(QString("%1 %2 ").arg(i.key()).arg(i.value())); + if (i.hasNext()) + { + content.append(","); + } + } + content.append(")"); + content += QString(";"); + return content; +} + +QString SqlGenerate::insertData(QString table, QVariantMap map) +{ + //insert or replace into + QString content = QString("insert or replace into %1 (").arg(table); + QString values = QString("values("); + QMapIterator i(map); + while (i.hasNext()) + { + i.next(); + content.append(QString("%1").arg(i.key())); + values.append("'" + i.value().toString().replace("'", "''") + "'"); // + if (i.hasNext()) + { + content.append(", "); + values.append(","); + } + } + content.append(") "); + values.append(")"); + content.append(values); + content += QString(";"); + return content; +} + +QString SqlGenerate::selectWhere(QString table, QStringList Name, QString condition) +{ + //QString content = QString("select from %1 ").arg(table); + QString content = QString("select ");// .arg(table); + QListIterator i(Name); + while (i.hasNext()) + { + i.next(); + if (i.hasNext()) + { + content += QString(" %1 ,").arg(i.previous()); + } + else + { + content += QString(" %1 ").arg(i.previous()); + } + i.next(); + + } + /*for(int i = 0; i < Name.size(); i++) + { + if (i + 1 == Name.size()) + { + content += QString("%1 ").arg(Name.at(i)); + } + else + { + content += QString("%1,").arg(Name.at(i)); + } + }*/ + content += QString("from %1").arg(table); + if (!condition.isEmpty()) + { + content += condition;// QString(" where %1").arg(condition); + } + content += QString(";");// + + + + return content; +} + +QString SqlGenerate::selectUnion(QStringList sTables, QStringList Name, QString condition /*= ""*/) +{ + QString s_select_Data; + for (int j = 0; j < sTables.size(); j++) + { + + QString content = QString("select ");// .arg(table); + QListIterator i(Name); + while (i.hasNext()) + { + i.next(); + if (i.hasNext()) + { + content += QString(" %1 ,").arg(i.previous()); + } + else + { + content += QString(" %1 ").arg(i.previous()); + } + i.next(); + + } + content += QString("from %1").arg(sTables.at(j)); + + if (s_select_Data.isEmpty()) + { + s_select_Data = content; + } + else + { + s_select_Data = s_select_Data + " union all " + content; + } + } + if (!condition.isEmpty()) + { + s_select_Data += condition;// QString(" where %1").arg(condition); + } + s_select_Data += QString(";");// + + return s_select_Data; +} + +QString SqlGenerate::createIndex(QString table, QString name) +{ + QString content = QString("create index %1_index on %2 (%3)").arg(name).arg(table).arg(name); + content += QString(";");// + return content; +} + +QString SqlGenerate::updateData(QString table, QVariantMap map, QString condition) +{ + QString content = QString("update %1 set ").arg(table); + QMapIteratori(map); + while (i.hasNext()) + { + i.next(); + if (i.hasNext()) + { + content += QString("%1 = '%2',").arg(i.key()).arg(i.value().toString().replace("'", "''")); + } + else + { + content += QString("%1= '%2' ").arg(i.key()).arg(i.value().toString().replace("'", "''")); + } + + } + content += QString("where %1").arg(condition); + content += QString(";"); + return content; +} + +QString SqlGenerate::deleteData(QString table, QString condition) +{ + QString content = QString("delete %1 ").arg(table); + content += QString("where %1").arg(condition); + content += QString(";"); + return content; +} + +bool SqlGenerate::checkCheckParameterSql(const QString& str) +{ + QStringList keys; + keys << "and"; + keys << "or"; + keys << "*"; + keys << "="; + keys << " "; + keys << "%0a"; + keys << "%0d"; + keys << "%"; + keys << "/"; + keys << "union"; + keys << "|"; + keys << "&"; + keys << "^"; + keys << "#"; + keys << "/*"; + keys << "*/"; + keys << "delete"; + keys << "insert"; + keys << "select"; + keys << "update"; + keys << "drop"; + for (int i = 0; i < keys.size(); i++) + { + if (str.contains(keys[i])) // != string::npos) + { + return false; + } + } + return true; +} + diff --git a/xyylMCWEACSystem/SqlGenerate.h b/xyylMCWEACSystem/SqlGenerate.h new file mode 100644 index 0000000..0144bb6 --- /dev/null +++ b/xyylMCWEACSystem/SqlGenerate.h @@ -0,0 +1,33 @@ +#ifndef _SqlGenerate_H__ +#define _SqlGenerate_H__ +#include +#include +#include + +/* + \author: zym + \brief : 数据库组织校验器 + \version 1.0 + \note +*/ + + class SqlGenerate + { + public: + SqlGenerate(); + virtual ~SqlGenerate(); + QString createTable(QString table, QMap map); + QString insertData(QString table, QVariantMap map); + QString selectWhere(QString table, QStringList Name, QString condition = ""); + QString selectUnion(QStringList table, QStringList Name, QString condition = ""); + QString createIndex(QString table, QString name); + QString updateData(QString table, QVariantMap map, QString condition); + QString deleteData(QString table, QString sWhere); + private: + bool checkCheckParameterSql(const QString& str); + protected: + + private: + }; + +#endif // SqlGenerate_h__ diff --git a/xyylMCWEACSystem/datamanager.cpp b/xyylMCWEACSystem/datamanager.cpp new file mode 100644 index 0000000..40ce24d --- /dev/null +++ b/xyylMCWEACSystem/datamanager.cpp @@ -0,0 +1,24 @@ +#include "datamanager.h" +DataManager::DataManager(QObject * parent ) +{ + +}; +DataManager::~DataManager() +{ + +} + DataManager& DataManager::instance() +{ + static DataManager dataManager; + return dataManager; + +} + +void DataManager::init() +{ + +} +void DataManager::initTable() +{ + +} diff --git a/xyylMCWEACSystem/datamanager.h b/xyylMCWEACSystem/datamanager.h new file mode 100644 index 0000000..410c7bb --- /dev/null +++ b/xyylMCWEACSystem/datamanager.h @@ -0,0 +1,22 @@ +#ifndef DATAMANAGER_H +#define DATAMANAGER_H + +#include +#include "SqlCore.h" +#include "SqlGenerate.h" +class DataManager:public QObject +{ + Q_OBJECT +private: + DataManager(QObject * parent =NULL); + ~DataManager(); +public: + static DataManager& instance(); + void init(); + void initTable(); +private: + SqlCore m_sqlcore; + +}; + +#endif // DATAMANAGER_H diff --git a/xyylMCWEACSystem/xyylMCWEACSystem.pro b/xyylMCWEACSystem/xyylMCWEACSystem.pro index 343e781..18ef17b 100644 --- a/xyylMCWEACSystem/xyylMCWEACSystem.pro +++ b/xyylMCWEACSystem/xyylMCWEACSystem.pro @@ -27,8 +27,10 @@ CONFIG += c++11 SOURCES += \ SqlCore.cpp \ SqlExecute.cpp \ + SqlGenerate.cpp \ btngroupwidget.cpp \ curchatwidget.cpp \ + datamanager.cpp \ dataprocesswidget.cpp \ devconwidget.cpp \ eggwidget.cpp \ @@ -50,8 +52,10 @@ SOURCES += \ HEADERS += \ SqlCore.h \ SqlExecute.h \ + SqlGenerate.h \ btngroupwidget.h \ curchatwidget.h \ + datamanager.h \ dataprocesswidget.h \ devconwidget.h \ eggwidget.h \