Hi, thanks Dan. This was certainly the problem, since there are a lot of zeros in the data.
In the meahnwhile I tried out something different. I heard from the incremental blob API. And it worked!!! Here is how I solved it: if(sqlite3_prepare_v2(db, cmd, strlen(cmd), &pStmt, 0) != SQLITE_OK) { printf("Could not prepare statement.\n"); return; } rc = sqlite3_step(pStmt); if( rc==SQLITE_ROW ) { newBlobSize = sqlite3_column_bytes(pStmt, 2); if(newBlobSize > blobSize || blobData == NULL) { printf("(re)allocating buffer\n"); if(blobData != NULL) free(blobData); blobData = malloc(newBlobSize); blobSize = newBlobSize; } memcpy(blobData, sqlite3_column_blob(pStmt, 2), newBlobSize); } Now I only need to solve a speed problem, but this I will first try out by myself:-) Thanks for your help Tobias >>> Date: Mon, 29 Dec 2008 11:20:58 +0700 >>> From: Dan <danielk1...@gmail.com> >>> Subject: Re: [sqlite] sqlite3_get_table question >>> To: General Discussion of SQLite Database <sqlite-users@sqlite.org> >>> Message-ID: <65fa0cc6-4248-4675-8100-f069423e0...@gmail.com >> >>> Why (ncol+2)? >> >> I make the following select statement: >> >> SELECT fname, dsize, data, ABS(red-%d)+ABS(green-%d)+ABS(blue-%d) err >> FROM ch ORDER BY err LIMIT 1; >> >> If I want to have the data then this would be 2 + the number of >> heading >> columns (ncol) > > Right. Obviously. > > Note that sqlite3_get_table() won't work for data with embedded 0x00 > bytes. > It will truncate each value at the first one encountered. That could be > the problem. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users