我尝试如下使用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/