Russian Qt Forum

Qt => Базы данных => Тема начата: S@morez от Декабрь 24, 2012, 12:06



Название: QT+Postgresql (добавление изображений и считывание изображений из бд)
Отправлено: S@morez от Декабрь 24, 2012, 12:06
Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    db = QSqlDatabase::addDatabase("QPSQL");
    db.setHostName("localhost");
    db.setDatabaseName("test");
    db.setUserName("postgres");
    db.setPassword("pass");
    if(!db.open())
    {
        qDebug() << QObject::trUtf8("áä íå íàéäêåíà") << db.lastError().text();
    }
}

void MainWindow::on_pushButton_2_clicked()
{
    QSqlQuery q;
    q.exec("INSERT INTO image(name, raster)"
           "VALUES ('tmp', lo_import('C:/image.bmp'))");
    //q.bindValue(imaga,lo_import('C:/image.bmp'));
   // q.bindValue("name","img");
   // q.bindValue(":raster","lo_import('C:/image.bmp')");
  //  q.bindValue(":id",4);
    //q.exec();

}

void MainWindow::on_pushButton_3_clicked()
{
    QSqlQuery q("SELECT lo_export(image.raster,'C:/image.bmp') FROM image WHERE name = 'img'");
    while (q.next())
    {
        QString im = q.value(0).;
        qDebug()<<im;
    }

}

как извлечь изображение из базы
таблица такая
СREATE TABLE image
{
   name text;
   id serial NOT NULL;
   raster oid;
   CONSTRAINT id PRIMARI KEY (id)
}

пажалуйсто подскажите добавить изображение из базы в QImage



Название: Re: QT+Postgresql (добавление изображений и считывание изображений из бд)
Отправлено: k0p4 от Декабрь 24, 2012, 14:40
http://www.prog.org.ru/topic_16679_0.html (http://www.prog.org.ru/topic_16679_0.html) тут посмотрите.