Мне нужно интеркалировать команду MySQL с переменными C++, предоставляемыми программой, для создания запроса и отправки.Интеркалированная команда MySQL с переменными C++
У меня есть следующие:
int source, temperature, humidity, airCo, noise;
char query[500];
Попытка # 1:
sprintf (query, "insert into defaultsensor1 (dateTime, temperature, humidity, airCo, noise) values (now(), " +
temperature + ", " +
humidity + ", " +
airCo + ", " +
noise + ")";
Попытка # 2:
sprintf (query, "insert into defaultsensor1 (dateTime, temperature, humidity, airCo, noise) values (now(), %i, %i, %i, %i)",
temperature,
humidity,
airCo,
noise);
Попытка # 3:
sprintf (query, "insert into defaultsensor1 (dateTime, temperature, humidity, airCo, noise) values (now(), %s, %s, %s, %s)",
std::to_string(temperature),
std::to_string(humidity),
std::to_string(airCo),
std::to_string(noise));
... aaaaaand никто не работал.
Учебники по Интернету в основном вращаются вокруг того, что я пробовал выше. Как мне это сделать?
Каким образом они «не работали»? Любые сообщения об ошибках? – Galik
Какие ошибки возникли при выполнении запроса? Вы пытались скопировать результирующую строку запроса и запустить в Workbench MySQL? – PaulF
Общий совет при указании имен таблиц используйте обратные тики '\' tablename \ '', чтобы избежать столкновений с ключевыми словами. Поместите значения полей строки в кавычки '' stringvalue''. – Galik