From: Date: April 17 2006 9:06am Subject: Re: Retrieving Binary Data List-Archive: http://lists.mysql.com/plusplus/5644 Message-Id: <20060417070652.GA6237@foursquare.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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