2013-05-17 1 views
0

그래서 우분투 64 비트 시스템에서 g ++ 및 Mysqlcppconn (MySQL C++ 커넥터)을 사용하고 있습니다. 나는 이진 데이터 BLOB를 데이터베이스에 삽입하고 그것을 검색 할 수 있어야한다. RetievalC++ mysql 이진 Blob을 데이터베이스에 저장합니다.

typedef unsigned char byte; 

byte data[512]; 
istream *buf=res->getBlob(1); 
buf->read((char*)data,512); 

난 그냥이 그래도 너무 잘 모르겠습니다 작동 바랍니다. 여기서 res는 ResultSet입니다.

데이터베이스에 저장하기 위해 바이트 *를 istream로 변환하는 방법을 알 수 없습니다.

독서 용 고지.

답변

0

대답은

struct membuf: std::streambuf 
{ 
    membuf(char* b, char* e) { this->setg(b, b, e); } 
}; 

byte *p = something....; 
membuf buf((char*)p,(char*)p+ALPHABET_SIZE*sizeof(ull)); 
istream is(&buf); 

ps->setBlob(1,&is); 

여기 데이터베이스 블롭 쓰기 스트림 버퍼를 사용하여 놓여 PS는 PreparedStatement로이다 : ..

관련 문제