0

我正在使用 VS 2008。在对 sql db 表的函数调用中,我有

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 的文件中。

我发现的最相关的是这个

答案是更改所有string连接SQLString参数,但我不知道我需要什么头文件SQLString

或者也许还有其他解决方案?

谢谢。

4

1 回答 1

0

将您的结果集设置为执行查询后获取的第一行。就像在 MYSQL 连接器中一样

结果集 * 结果集;(查询执行代码)resultSet中返回记录 resultSet->first(); 结果集->getString("fieldName");

缺少粗体声明,那么您可能会遇到此异常。

于 2012-01-02T10:21:40.987 回答