请大家帮忙看看,使用mysql connector/c++ 往数据库中插入blob字段出1210错
ll_pp 2011-02-19 10:46:00 如题,有一表test_test,两个字段(id,b),其中b是blob字段
代码段如下:
class DataBuf : public streambuf
{
public:
DataBuf(char * d, size_t s)
{
setg(d, d, d + s);
}
};
void main()
{
......
try
{
sql::SQLString sql = "INSERT INTO test_test (id,b) VALUES(?,?)";
sql::Driver *driver;
sql::Connection *con;
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306","root","root");
con->setSchema("wg"); //数据库名
sql::PreparedStatement *prep_stmt = con->prepareStatement(sql);
int a = 1;
memcpy(buf,&a,sizeof(a));
memcpy(buf + sizeof(a),&a,sizeof(a));
memcpy(buf + 2 * sizeof(a),&a,sizeof(a));
DataBuf buffer(buf,12);
prep_stmt->setInt(1,1);
prep_stmt->setBlob(2,&stream);
prep_stmt->execute();
}
catch(sql::SQLException &e) {......}
}
运行时出错 ,提示错误代码1210 incorrect arguments to ......
请大家看看这个错误是怎么回事?如果不插入blob字段,则没有问题。谢谢!