mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-28 03:09:24 +08:00
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
#include "SQL.h"
|
|
|
|
std::string SQL::str()
|
|
{
|
|
if (type == TYPE::select)
|
|
{
|
|
// SELECT * from t_tabname WHERE id='1';
|
|
if (sql_k.empty()) {}
|
|
std::string s = "SELECT " + (sql_k.empty() ? "*" : sql_k) + " FROM `" + tabname + "`";
|
|
if (!sql_c.empty()) { s += (" WHERE" + sql_c); }
|
|
return s + ";";
|
|
}
|
|
else if (type == TYPE::update)
|
|
{
|
|
// UPDATE t_tabname SET a='1', b='2' WHERE id='1';
|
|
std::string s = "UPDATE `" + tabname + "` SET " + sql_k + " WHERE" + sql_c;
|
|
return s + ";";
|
|
}
|
|
else if (type == TYPE::insert)
|
|
{
|
|
// INSERT INTO t_tabname (a,b,c) VALUES('1','2','3');
|
|
std::string s = "INSERT INTO `" + tabname + "` (" + sql_k + ") VALUES(" + sql_v + ");";
|
|
return s;
|
|
}
|
|
else if (type == TYPE::del)
|
|
{
|
|
return "";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
SQL& SQL::table(std::string t)
|
|
{
|
|
tabname = t;
|
|
return *this;
|
|
}
|
|
|
|
SQL& SQL::select(std::string k)
|
|
{
|
|
if (!sql_k.empty()) { sql_k += ","; }
|
|
sql_k += k;
|
|
return *this;
|
|
}
|
|
SQL& SQL::where(std::string expr)
|
|
{
|
|
sql_c += (" " + expr);
|
|
return *this;
|
|
}
|
|
|
|
SQL& SQL::update(std::string k, std::string v)
|
|
{
|
|
if (!sql_k.empty()) { sql_k += ","; }
|
|
sql_k += ("`" + k + "`='" + v + "'");
|
|
return *this;
|
|
}
|
|
|
|
SQL& SQL::insert(std::string k, std::string v)
|
|
{
|
|
if (!sql_k.empty()) { sql_k += ","; }
|
|
sql_k += ("`" + k + "`");
|
|
if (!sql_v.empty()) { sql_v += ","; }
|
|
sql_v += ("'" + v + "'");
|
|
return *this;
|
|
} |