From: Date: April 17 2006 2:31pm Subject: Re: Retrieving Binary Data List-Archive: http://lists.mysql.com/plusplus/5645 Message-Id: <44438A84.2040803@billism.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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=cdfrey@stripped >> > >