Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

C++ कनेक्टर में setBlob () का उपयोग करके बाइनरी डेटा कैसे सेट करें?

यह पोस्ट थोड़ी पुरानी है, लेकिन मैं एक ही प्रश्न पर भाग गया। मैंने उपरोक्त विधि को नियोजित किया और यह मेरे मामले के लिए बिल्कुल सही नहीं था, जो एक वेक्टर लेने और स्ट्रीम के लिए इसका उपयोग करने की कोशिश कर रहा था। मैं जो कर रहा था वह यूयूआईडी ले रहा था और इसे तालिका में उपयोग करने के लिए 16 बाइट बाइनरी संस्करण में परिवर्तित कर रहा था। ऊपर दी गई विधि का उपयोग करते हुए, मैंने पाया कि मेरा आधा बफर ही भर रहा था।

मैं एक 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);

ध्यान रखने योग्य कुछ अन्य बातें। स्ट्रीम को तब तक एक्सेस नहीं किया जाता जब तक कि execute . में से कोई एक नहीं हो जाता वेरिएंट कहा जाता है। इसलिए जब तक आप execute नहीं चला लेते, तब तक आपको स्ट्रीम को इधर-उधर रखना होगा ।

उम्मीद है कि यह किसी की मदद करेगा और उनका समय बचाएगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन mysql.connector - एक पंक्ति को शब्दकोश के रूप में पुनः प्राप्त करने का सही तरीका

  2. प्रत्येक व्यक्तिगत पंक्ति के लिए एकाधिक 'कहां' खंडों के साथ एकाधिक पंक्तियों को अपडेट करें

  3. अशक्त पंक्तियों के लिए पिछला मान प्राप्त करें

  4. चयनित डेटा को विदेशी कुंजी और SQLSTATE के रूप में सम्मिलित करें [23000]:अखंडता बाधा उल्लंघन:1048

  5. डेटा को mysql तालिका में कैसे लोड करें लेकिन रिक्त पंक्तियों को अनदेखा करें