мне кажется в последнем листинге суть дела в разделителе. имхо надо
query5.prepare("INSERT INTO tov (name)" "VALUES (:name);");
вместо
query5.prepare("INSERT INTO tov (name)" "VALUES (:name)");
потому что где-то я уже такое отгребал с склайтом - что без разделителя - он думает что запрос ещё не закончен.
И проблема ваша мне кажется не в том что обновился Qt а в том, что SQLite обновился...
PS: а вот кстати к слову некоторые iSeries-ные версии DB2 как раз не хотят видеть разделитель... у каждого свои тараканы))))
ЗЗЫ: хотя вот в пером вашем листинге ";" вроде как присутсвует....
кстати - в почему у вас в середине строки зачем-то кавычки-пробел-кавычкистоят?
pod, pricer) " "VALUES('%1'
я просто не понимаю что это, простите...
ЗЗЫ: Ещё добавлю, что имена колонок лучше всего заключать в кавычки которые я именую "кавычки для имен столбцов".
для MySQL - это ` ("обратная одинарная кавычка" кажется). Для SQLite - это " ("двойная простая кавычка" кажется)
Строковые значения - в кавычки для строк. для MySQL и SQLite - это ' ("простая одинарная кавычка" кажется).
Вы точно знаете/проверяли что name в новых версиях SQLite - это нифига не зарезервированное слово?
потому совсем правильно имхо будет даже
query5.prepare("INSERT INTO tov (\"name\") VALUES (':name');");
вот такое моё скромное имхо...