我正在使用VS 2008.在对SQL数据库表的函数调用中,我有
boost::scoped_ptr<sql::PreparedStatement> pstmt( conn->prepareStatement(query) );
boost::scoped_ptr<sql::ResultSet> prow( pstmt->executeQuery() );
查询看起来很好,如果我复制它并在mySql
工作台中运行它,我会得到一条记录。
但是prow( pstmt->executeQuery()
扔了sql::InvalidArgumentException
如果我点击“继续”,我会收到Unhandled exception ... Access violation reading location 0xfeeefef6
__CLR_OR_THIS_CALL ~basic_string()
{ // destroy the string
_Tidy(true);
}
在一个名为xstring的文件中。
我发现最相关的是THIS
对于所有连接参数,答案是将string
更改为SQLString
,但我不知道SQLString
需要哪个头文件?
或者还有其他解决方案?
感谢。
答案 0 :(得分:0)
将resultSet设置为执行查询后获取的第一行。比如MYSQL连接器
ResultSet * resultSet; (查询执行代码) 记录在resultSet中返回 的 resultSet-&gt;首先(); 强> resultSet-&GT;的getString( “fieldName的”);
缺少粗体陈述,那么你可能会遇到这个例外。