MihailllMay 16, 2020, 1:11 p.m.

Как в postgresql сохранить QByteArray

Добрый день.
Создал в postgresql столбец типа oid для хранения QByteArray.
Почитал что oid аналог BLOD, самого BLOB у меня в базе нет.
Но при таком типе данных не могу записать QByteArray, получаю такую ошибку:


При этом с oid работает только такой запрос (в этот тип данных записывается только число):

INSERT INTO public.categories(
    name, image)
    VALUES ( 'hh', 100);

Скажите пожалуйста как записывать QByteArray ? В какойто другой тип данных?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
2
IP

Нужно использовать подготовленный запрос https://doc.qt.io/qt-5/qsqlquery.html
вот пример из документации

QSqlQuery query;
    query.prepare("INSERT INTO person (id, forename, surname) "
                  "VALUES (?, ?, ?)");
    query.addBindValue(1001);
    query.addBindValue("Bart");
    query.addBindValue("Simpson");
    query.exec();

addBindValue принимает тип QVariant, в него сохраняешь QByteArray и отправляешь в запрос

QByteArray ba;// QByteArray который нужно сохранить
...
Query query;
query.prepare("INSERT INTO public.categories(name, image) VALUES ( 'hh', ?);");
query.addBindValue(ba);
//Ну или можно явно указать компилятору что хочешь сделать
//query.addBindValue(QVariant(ba));
query.exec();

...
  • May 17, 2020, 6:13 a.m.
  • The answer was marked as a solution.

Я так и делал. Оказывается в постгри столбец нужно делать в формате bytea

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
TG

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
TG

C++ - Test 001. The first program and data types

  • Result:60points,
  • Rating points-1
TN

C++ - Test 001. The first program and data types

  • Result:40points,
  • Rating points-8
Last comments
r

Поздравляю всё Сообщество EVILEG с Новым Годом!!!

https://nutakugold.club/freenutakugold/ - the best generator woooow :) 2021 updated. hmm i found it. or https://issuu.com/nutakugoldcoins2021 Study reviews of matches prior to …

Django - Tutorial 001. Deploying a site on Django + PostgreSQL + Gunicorn + Nginx

Ошибка в конфиге инжинкса про статику в root последний слеш лишний путь в таком виде получается /home/user/myprojectenv/myproject/myproject//static
  • Jurij
  • Jan. 20, 2021, 1:34 p.m.

Qt/C++ - Lesson 061. Adding images to the application using the Drag And Drop method from the file manager

// Вместо отрисовки иконки и текста будем отрисовывать только одно изображение // с небольшими отступами в 5 пикселей QPixmap pix(m_model->data(index).toString()); …
m
  • magrif
  • Jan. 19, 2021, 12:37 p.m.

Qt Сертификация

Здравствуйте. Подскажите, оплачивать ваучер прямо в выбранном тестовом центре? Можно ли загранник предъявить? Или свой паспорт, а заполнить транслитом? А то там пишут: Your name must exactl…
r
  • retmas
  • Jan. 17, 2021, 4:09 a.m.

Qt/C++ - Tutorial 074. Generating pseudo-random numbers, using STD library random

Дмитрий, решает. Просто автор, видимо, не сильно озаботился изучением документации QRandomGenerator. Да и в листинге с использованием qrand вызов функции qsrand на каждой итерации цикла нав…
Now discuss on the forum
DK

QScrollArea dynamically add QCheckBoxes

QWidget *materialContainer = new QWidget(this);QVBoxLayout *materialLay = new QVBoxLayout();materialContainer->setLayout(materialLay);ui->_materialScrollArea->setWidget(materialContaine…

Ошибка при работе утилиты не удалось получить фабрику класса com для компонента с clsid

Всем привет! Мне для тестов нужна одна утилита. Она тестирует определенное оборудование. Поставил ее на новый ноут с Windows 10 Домашняя, 64-бит, версия 10.0.19041. Утилита работает, но спу…

Как в Android открыть свернутое приложение?

Это не вам, тот коммент судя по всему удалили, или я написал не туда

Qt: INTERNAL ERROR: failed to install GetMessage hook: 1158

ESP8266 и вправду не корректно закрывало соединение. Причина оказалась банальной: перед функцией ухода в глубокий сон ESP.deepSleep(60e6) необходимо было поставить небольшую задержку delay(1). В…
  • Nomad
  • Jan. 20, 2021, 8:48 a.m.

Ограничение доступа к ресурсу с по django-cors-headers

всем привет помогите разобраться гуглю и ниче не помогает есть проект с drf установил django-cors-headers добавил в INSTALLED_APPS добавил MIDDLEWARE слой для cor…
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB