0

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というファイルにあります。

私が見つけた最も関連性のあるものはこれです

答えはすべての接続パラメータをに変更stringすることSQLStringですが、どのヘッダーファイルが必要かわかりませんかSQLString

またはおそらく他の解決策がありますか?

ありがとう。

4

1 に答える 1

0

クエリの実行後にフェッチされた最初の行にresultSetを設定します。MYSQL コネクタのように

結果セット * 結果セット; (クエリ実行コード) レコードは resultSet に返されます 。 resultSet->first(); resultSet->getString("フィールド名");

太字のステートメントが欠落している場合、おそらくこの例外が発生します。

于 2012-01-02T10:21:40.987 に答える