3 messages in com.mysql.lists.plusplusRe: Retrieving Binary Data| From | Sent On | Attachments |
|---|---|---|
| Bill K | 16 Apr 2006 19:56 | |
| Chris Frey | 17 Apr 2006 00:06 | |
| Bill K | 17 Apr 2006 05:30 |
| Subject: | Re: Retrieving Binary Data![]() |
|---|---|
| From: | Bill K (rep...@billism.com) |
| Date: | 04/17/2006 05:30:37 AM |
| List: | com.mysql.lists.plusplus |
Hi Chris,
Thanks. That seems to work. I think result.fetch_lengths() is the only method I didn't try. =) Seems almost like there should be a function in the ColData object (retrieved by 'row.at(n)') to get the length as well.
Thanks again!
- Bill Krahmer
Chris Frey wrote:
Off hand, it's something like this:
Result result = query.store(); Result::iterator i = result.begin(); Row row;
// loop through all results for( ; i != result.end(); i++ ) { row = *i;
unsigned long *col_lengths = result.fetch_lengths();
// row.raw_data(0) is the first selected column // and col_lengths[0] is the size of it
// do something... memcpy(dest, row.raw_data(0), col_lengths[0]); }
- Chris
On Sun, Apr 16, 2006 at 09:57:09PM -0500, Bill K wrote:
Hello,
After trial and error over a few hours, it looks like retrieving binary data that contains 0 (null) characters is not possible with mysql++. Is this correct?
I am using mysql++ 2.1.1 and MySQL Server 5.0
What I am doing with mysql++ is executing this: "SELECT pri_key, CAST(message AS BINARY) message FROM blockedmessages;"
The message column is defined as a BLOB in MySQL.
The row.at(1).size() and row.at(1).length() return the length of the data as if it were a string (terminated by the first occurring null character). There seems to be no way with mysql++ to easily access this binary data in full.
When I hard code a malloc const char* to the right length of the data, I can see that all the binary is actually put into memory, but there is no reference provided to access it. You just have to know how long the data really is and use a malloc or something.
Am I right, or am I missing something?
Thanks!
- Bill Krahmer
-- MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: http://lists.mysql.com/plusplus?unsub=cdf...@netdirect.ca




