【问题标题】:Set binary data using setblob in mysql connector/c++ causes crash在 mysql connector/c++ 中使用 setblob 设置二进制数据会导致崩溃
【发布时间】:2009-07-13 18:10:24
【问题描述】:

我尝试如下使用 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() 处崩溃。我做错了什么?

【问题讨论】:

  • 是硬崩溃还是显示任何错误消息?调试器捕捉到什么了吗?

标签: c++ mysql binary-data


【解决方案1】:

你确定它没有崩溃吗:

s->setBlob(1, &stream);

检查调试器以确保 s 不是 NULL 或垃圾值。

【讨论】:

  • 不,我正在逐行浏览。在非调试模式下也会崩溃。
猜你喜欢
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 2016-04-11
  • 2011-06-23
  • 1970-01-01
相关资源
最近更新 更多