我尝试如下使用setBlob():


class DataBuf : public streambuf
{
public:
   DataBuf(char * d, size_t s) {
      setg(d, d, d + s);
   }
};


char b[20];
DataBuf buffer((char*)b, 20);
istream stream(&buffer);

PreparedStatement* s = con->PrepareStatement("insert into mytable (mybin) values (?)");
s->setBlob(1, &stream);
int rows = s->executeUpdate();

这在executeUpdate()时崩溃。我究竟做错了什么?

最佳答案

您确定它不会崩溃:

s->setBlob(1, &stream);

检查调试器,确保s不是NULL或废话值。

关于c++ - 在MySQL Connector/C++中使用setblob设置二进制数据会导致崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1121142/

10-15 21:06