#include "SqlGenerate.h" #include SqlGenerate::SqlGenerate() { } SqlGenerate::~SqlGenerate() { } QString SqlGenerate::createTable(QString table, QMap map) { QString content = QString("create table %1 (").arg(table); 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("); 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); content += QString(";");// return content; } QString SqlGenerate::selectUnion(QStringList sTables, QStringList Name, QString condition /*= ""*/) { QString s_select_Data; 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); 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; }