std::unordered_map
の範囲をループベースの範囲に2回反復すると、その順序は等しくなることが保証されますか?(auto i:unordered_map)は毎回同じ注文を保証しますか?
std::unordered_map<std::string, std::string> map;
std::string query = "INSERT INTO table (";
bool first = true;
for(auto i : map)
{
if(first) first = false;
else query += ", ";
query += i.first;
}
query += ") ";
query += "VALUES (";
first = true;
for(auto i : map)
{
if(first) first = false;
else query += ", ";
query += i.second;
}
query += ");"
上記の例では、結果の文字列はその形式にする必要があります。したがって、両方の時間、繰り返しの順序が同じであることが重要です。
INSERT INTO table (key1, key2, key3) VALUES (value1, value2, value3);
これはC++で保証されていますか?
あなたはどこかでSQLインジェクションから保護していると教えてください。 –
@ D.Shawley私は現時点ではありません。しかし、それはコンピュータゲームの節約についてです。私はゲームをコーディングして、アプリケーションコードの外部からSQLをまったく注入する方法はありません。 – danijar
私は生の文字列連結によってSQL文字列を構築するのを見ているだけです。 –