РС
Руслан Склюев18 червня 2020 р. 16:01
Простенький запрос
Здравствуйте! Установил PG12.
Тестовый запрос: INSERT INTO "public"."NameTable" ("FirstName", "SurName", "Nik") VALUES ('ff', 'cc', 'bb');
Как реализовать его в query.prepare? ругается на кавычки.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
sf
- sdfsdfkp fgskpgokspdog
- 14 жовтня 2024 р. 12:09
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:90бали,
- Рейтинг балів8
МВ
- Максим Васильев
- 02 жовтня 2024 р. 01:14
Qt - Тест 001. Сигналы и слоты
- Результат:68бали,
- Рейтинг балів-1
ЛС
- Лев Семенов
- 30 вересня 2024 р. 08:04
C++ - Тест 001. Первая программа и типы данных
- Результат:53бали,
- Рейтинг балів-4
Останні коментарі
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов05 жовтня 2024 р. 04:51
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко04 лютого 2024 р. 22:50
Тепер обговоріть на форумі
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь Максимов03 жовтня 2024 р. 01:05
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
Кирилл Гусарев27 вересня 2024 р. 06:09
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
Добрый день.
Нужно делать экранирование, поскольку кавычки в C++ это спец символы.
Напишите строку так
"INSERT INTO \"public\".\"NameTable\" ( \"FisrtName\", \"SurName\", \"Nik\") VALUES (:db, 'cc', \"bb\")"
"ОШИБКА: ошибка синтаксиса в конце\nLINE 1: EXECUTE \n ^\n(42601) QPSQL: Невозможно создать запрос"
QML debugging is enabled. Only use this in a safe environment.
Показывайте полный код, как формируете запрос, в том числе и C++ код.
P/S/ и когда будете вставлять в сообщение код, то воспользуйтесь диалогом для вставки кода, чтобы разметка правильно сформировалась.
Это одна из кнопок в тулбаре редактора.
Снимок.PNG
Будьте так любезны, вставляйте программный код с помощью этого дилога.
У меня нет времени, чтобы перепечатывать ваш код с картинки, чтобы объяснить вам вашу ошибку.
Какую ошибку выдаёт этот ваш запрос?
Поскольку в предыдущем сообщении у вас был запрос, в котором вы пытались сделать bind
и выглядел он иначе
"INSERT INTO \"public\".\"NameTable\" ( \"FisrtName\", \"SurName\", \"Nik\") VALUES (:db, 'cc', \"bb\")"
"ОШИБКА: ошибка синтаксиса в конце\nLINE 1: EXECUTE \n ^\n(42601) QPSQL: Невозможно создать запрос"
QML debugging is enabled. Only use this in a safe environment.
Вот пример из документации
Если вы пытаетесь сделать bind, то вам нужно правильно сформировать строку запроса, плюс указать bind привязки.
В данном случае наличие кавычек уже не нужно будет.
В статье, по которой вы это делаете были макросы, поэтому для конкатенации строк нужно было делать разделение кавычками. А вы очевидно формируете запрос сразу без макросов.
Так, добро... А как себя поведёт такой код?
error insert into public.NameTable
"INSERT INTO NameTable (FirstName, SurName, Nik) VALUES (:FName, :SName, :Nik)"
"ОШИБКА: ошибка синтаксиса (примерное положение: \"(\")\nLINE 1: EXECUTE ('Name', 'Surname', 'Nik')\n ^\n(42601) QPSQL: Невозможно создать запрос"
Ну теперь на значения ругается
А это уже очень плохо. Данный вариант кода должен был сработать.
Или не создалась таблица, или драйвер QPSQL коряво отрабатывает с PG12.
Лучше будет, если таблицы нет.
В случае с драйвером писать на багтрекер Qt Company тикет об ошибке и откатываться на более старую версию PG
На PG запрос должен выглядеть так INSERT INTO "public"."NameTable" ("FirstName", "SurName", "Nik") VALUES ('ff', 'cc', 'bb')
Тогда это должно было сработать - ссылка на комментарий
Также наличие public не принципиально, как и наличие кавычек
Сами документацию на PostgreSQL 12 почитайте, вот ссылка на INSERT
А вот пример из документации
У меня получилось, если создать строку, потом как вы написали, потом как тут - https://doc.qt.io/qt-5/qstring.html#initializing-a-string перебрать строку и заменить слэши на пробелы. Но это костыль?
Сдаётся мне, что у вас кодировка файла исходных кодов корявая.
Другой причины уже быть не может, иначе вам не пришлось бы заменять слэши. Дело в том, что слэш экранирует в код на C++ кавычки, чтобы это скомпилировалось нормально в строку.
А как ее сменить?
Пересоздал таблицу в базе - все заработало без кавычек и public. Большое спасибо!