Ignore that, I wasn't thinking C++ :(
Does the CppSQLite demo work on your machine?
Martin
Kiril Dzolev wrote:
You're calling blobGet(), but blobGet is an unitialised variable of type
"CppSQLite3Binary" (whatever that is). Doesn't your compiler warn you
about that?
Martin
> const unsigned char* putBLOBInBinary([...])
> {
> [...]
> CppSQLite3Binary blobGet;
>
> [...]
> if (!q.eof()) {
> blobGet.setEncoded((unsigned char*)q.fieldValue("data"));
This is not realy for this forum, but maybe somebody can tell me what
I am
doing wrong. I am using CppSQLite wrapper.
Code 1 : With this code "Segmentation fault"
const unsigned char* putBLOBInBinary(CppSQLite3DB &db, int &lengthBLOB) {
CppSQLite3Query q;
CppSQLite3Binary blobGet;
q=db.execQuery("select data from bindata where id=1;");
if (!q.eof()) {
blobGet.setEncoded((unsigned char*)q.fieldValue("data"));
lengthBLOB= blobGet.getBinaryLength();
cout<<"Retrieved binary Length: "<<lengthBLOB <<endl;
}
return blobGet.getBinary();
}
function call from main()
const unsigned char* pBufferOut;
pBufferOut = putBLOBInBinary(db, lengthBLOB);
Code 2 : With this code is ok (if I dont use function)
CppSQLite3Query q;
CppSQLite3Binary blobGet;
q=db.execQuery("select data from bindata where id=1;");
if (!q.eof()) {
blobGet.setEncoded((unsigned char*)q.fieldValue("data"));
lengthBLOB= blobGet.getBinaryLength();
cout<<"Retrieved binary Length: "<<lengthBLOB <<endl;
}
pBufferOut=blobGet.getBinary();
sorry if this is off topic,
Kiril