Re: duda sobre BYTEA

From: Freddy Martinez Garcia <freddy311082(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: duda sobre BYTEA
Date: 2014-01-28 18:54:16
Message-ID: CABn2n2Yn6LScC9xKds72UYzW1pMSkz0eVQNvRVdRzwkxdpGo5g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Disculpa Alvaro, vuelvo a enviar el mensaje porque me di cuenta en la
respuesta que le di responder y te escribí a ti solo..... ahí mando el
mensaje nuevamente a la lista

Hola Alvaro y gracias por tu pronta respuesta hermano.

mira, este es mi código... a lo mejor me dices dónde está el problema....

la tabla donde quiero guardar los ficheros contiene 2 campos solamente pues
ahora estoy probando... tienen un campo fileid que es numerico y un campo
filedata que es el bytea[]

este es mi codigo

QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setPort(5432);
db.setDatabaseName("bpg");
db.setUserName("postgres");
db.setPassword("");
if (db.open())
{
QFile file("/home/freddy/Trabajo/bpg/diseno/rubro 7.xlsx");
if (!file.open(QIODevice::ReadOnly))
{
qDebug("file error...");
exit(0);
}
QByteArray bytesAr = file.readAll();
std::cout << "sending query..." << std::endl;

QSqlQuery query(db);
query.prepare("insert into files values(:id,:data)");
query.bindValue(":id",18);
query.addBindValue(bytesArr);
if (!query.exec())
{
qDebug(query.lastError().driverText().toLatin1());
}
cout << "query sent..." << endl;
file.close();
db.close();
}

la salida de mi programa dice esto:

sending query...
QPSQL: Unable to create query
query sent...
Unable to free statement: connection pointer is NULL

*** Exited normally ***

estoy usando Postgresql 9.3, Archlinux y Qt5.2

de ante mano, muchas gracias por todo hermano

freddy

*============================================="El tamaño de tus logros
depende del tamaño de tus metas." *

El 28 de enero de 2014, 18:48, Freddy Martinez Garcia <
freddy311082(at)gmail(dot)com> escribió:

> Hola Alvaro y gracias por tu pronta respuesta hermano.
>
> mira, este es mi código... a lo mejor me dices dónde está el problema....
>
> la tabla donde quiero guardar los ficheros contiene 2 campos solamente
> pues ahora estoy probando... tienen un campo fileid que es numerico y un
> campo filedata que es el bytea[]
>
> este es mi codigo
>
> QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
> db.setHostName("localhost");
> db.setPort(5432);
> db.setDatabaseName("bpg");
> db.setUserName("postgres");
> db.setPassword("");
> if (db.open())
> {
> QFile file("/home/freddy/Trabajo/bpg/diseno/rubro 7.xlsx");
> if (!file.open(QIODevice::ReadOnly))
> {
> qDebug("file error...");
> exit(0);
> }
> QByteArray bytesAr = file.readAll();
> std::cout << "sending query..." << std::endl;
>
> QSqlQuery query(db);
> query.prepare("insert into files values(:id,:data)");
> query.bindValue(":id",18);
> query.addBindValue(bytesArr);
> if (!query.exec())
> {
> qDebug(query.lastError().driverText().toLatin1());
> }
> cout << "query sent..." << endl;
> file.close();
> db.close();
> }
>
> la salida de mi programa dice esto:
>
> sending query...
> QPSQL: Unable to create query
> query sent...
> Unable to free statement: connection pointer is NULL
>
> *** Exited normally ***
>
>
> estoy usando Postgresql 9.3, Archlinux y Qt5.2
>
> de ante mano, muchas gracias por todo hermano
>
> freddy
>
>
>
>
>
>
>
>
> *============================================= "El tamaño de tus logros
> depende del tamaño de tus metas." *
>
>
> El 28 de enero de 2014, 18:31, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>escribió:
>
> Freddy Martinez Garcia escribió:
>> > hola a todos amigos...
>> >
>> > estoy tratando de escribir en un fichero binario en un campo BYTEA, es
>> > decir, desde el cliente enviar al servidor un fichero binario. La
>> consulta
>> > que estoy haciendo es esta... por ejemplo:
>> >
>> > "insert into tb_files vluaes ( '{mifichero}' )"
>>
>> Lo estás haciendo mal. Usa addBindValue para pasar los datos en vez de
>> interpolarlos tú mismo en la consulta.
>>
>> --
>> Álvaro Herrera http://www.2ndQuadrant.com/
>> PostgreSQL Development, 24x7 Support, Training & Services
>>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Tornero - Listas 2014-01-29 08:13:24 Sugerencia de implementación
Previous Message Alvaro Herrera 2014-01-28 18:31:10 Re: duda sobre BYTEA