Hello everybody out there using PostgreSQL,
What is the problem with the following C++ code for the extraction of
data from a BYTEA column to a binary file?
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include "libpq-fe.h"
using namespace std;
main ()
{
PGconn *conn;
conn = PQconnectdb("hostaddr='databaseserver.com' port='5432'
dbname='test_db' user='test_user' password='secret'");
int size;
const char* contents;
PGresult* res;
res = PQexecParams(conn,
"SELECT filecontent FROM pictures WHERE picture_id='3'",
0, NULL,NULL,NULL,NULL,
1);
if (res && PQresultStatus(res)==PGRES_TUPLES_OK)
{
size = PQgetlength(res, 0, 0);
contents = PQgetvalue(res, 0, 0);
}
ofstream myFile ("picture.jpg", ios::out | ios::binary);
myFile.write (contents);
myFile.close();
}
Thanks in advance,
Julia