Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara mengatur data biner menggunakan setBlob() di konektor C++

Posting ini agak lama, tetapi saya menemukan pertanyaan yang sama. Saya menggunakan metode di atas dan itu tidak berfungsi dengan baik untuk kasus saya, yang mencoba mengambil vektor dan menggunakannya untuk aliran. Apa yang saya lakukan adalah mengambil UUID dan mengubahnya menjadi versi biner 16 byte untuk digunakan dalam tabel. Menggunakan metode di atas, saya menemukan bahwa hanya setengah buffer saya yang terisi.

Saya akhirnya menggunakan stringstream .

std::vector<unsigned char>  convertedId;
std::stringstream           stream;

// convertedId has been populated with the 16 byte binary version
stream = std::stringstream(std::string(convertedId.begin(), convertedId.end()));
// Parameter 1 is BINARY(16)
pStatement->setBlob(1, &stream);

Beberapa hal lain yang perlu diingat. Aliran tidak diakses sampai salah satu execute varian disebut. Jadi, Anda harus tetap menjalankan streaming sampai Anda menjalankan execute .

Semoga ini akan membantu seseorang dan menghemat waktu mereka.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan SQL untuk mendapatkan tanggal 2 hari ke depan dari sekarang

  2. Catatan Aktif Mysql Codeigniter - Bagaimana cara melakukan kueri where_in dan mengembalikan urutan hasil yang benar?

  3. Pencarian peka huruf besar/kecil di Django, tetapi diabaikan di Mysql

  4. Qt - Bagaimana cara mendapatkan|kompilasi driver Mysql

  5. Bagaimana cara MEMBERIKAN SELECT ON tablename ke PUBLIC di MySQL