Я пытаюсь создать оператор вставки в приложении C ++ для записи pu sh на сервер MariaDB, но получаю общую ошибку c из базы данных, ссылаясь на синтаксические ошибки MySQL.
В вашем синтаксисе SQL произошла ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с «NSERT INTO test_data (cid, ch1, ch2, ch3, ch4, ..» в строке 1
Код следует:
insertString = "INSERT INTO test_data (cid,ch1,ch2,ch3,ch4,ch5,ch6,ch7,ch8,ch9,ch10,ch11,ch12,ch13,ch14,ch15,ch16,value_type) VALUES ('"+cid;"', '"+di_ch[0];"', '"+di_ch[1];"', '"+di_ch[2];"', '"+di_ch[3];"', '"+di_ch[4];"', '"+di_ch[5];"', '"+di_ch[6];"', '"+di_ch[7];"', '"+di_ch[8];"', '"+di_ch[9];"', '"+di_ch[10];"', '"+di_ch[11];"', '"+di_ch[12];"', '"+di_ch[13];"', '"+di_ch[14];"', '"+di_ch[15];"', '"+value_type;"')";
mysql_query_status=mysql_query(connect,insertString.c_str());
Код не будет компилироваться без форматирования значений с «+» и «;» перед и после ссылки на переменную. Мне все еще не совсем понятно, почему это так требуется, но опять же, мне все еще нужно найти хороший справочный документ для использования этого соединителя, который также был бы оценен. Существует много материалов по установке, настройке и сборке соединителя и его приложений, но не так много примеров кода. Из того, что я нашел, я прочитал, что мне может понадобиться попытаться использовать PreparedStatement следующим образом.
Схема таблицы здесь