MySQL使用connector C/C+读取二进制字段


MySQL使用connector C/C+读取二进制字段,两种方法:

用getString

  1. vector<char> vec; 
  2.   while (pResultSet->next()) 
  3.   { 
  4.     string str = pResultSet->getString("data"); 
  5.     vec.insert(vec.end(), str.begin(), str.end()); 
  6.   }

用getBlob

  1.  vector<char> vecALL; 
  2.   while (pResultSet->next()) 
  3.   { 
  4.     istream *pis= pResultSet->getBlob("data"); 
  5.     pis->seekg(0, ios::end); 
  6.     int sz = pis->tellg(); 
  7.     pis->seekg(ios::beg); 
  8.     vector<char> vecTemp; 
  9.     vecTemp.resize(sz); 
  10.     pis->read(&vecTemp[0], sz); 
  11.     vecALL.insert(vec.end(), vecTemp.begin(),vecTemp.end()); 
  12.   }

相关内容