【解決方法】C++ 98 SQL エラー "what() : 接続は自動コミット モードです"

プログラミングQA


私は netbeans 8.1 で QT-4 を使用して C++ 98 を初めて使用しています。 このコードを使用してデータベース接続を試みています。

#include "newForm.h"
#include <cstdlib>
#include <stdio.h>

#include <string.h>
#include <string>

using namespace std;
#include <stdlib.h>
#include <iostream>
#include <fstream>


#include <sstream>
#include <istream>
#include <stdexcept>
#include <istream>
#include <qimage>
#include <qpixmap>

#include <mysql mysql.h="">
#include <cppconn driver.h="">
#include <cppconn exception.h="">
#include <cppconn connection.h="">
#include <cppconn resultset.h="">
#include <cppconn statement.h="">
#include <cppconn prepared_statement.h="">
#include <qgraphicspixmapitem>


using namespace sql;     // <---- add here

sql::Driver * driver;
sql::Connection *con;
sql::Statement *stmt;
sql::ResultSet *res;
sql::PreparedStatement *prep_stmt;

int counter = 1;

newForm::newForm() {
    widget.setupUi(this);


    driver = get_driver_instance();
    con = driver->connect("localhost","","");
    con->setAutoCommit(0);
    con->setSchema("BitmapIMGSchema");  -->error

プログラムは クラッシュ この行で

con->setSchema("BitmapIMGSchema");  -->error

エラーあり

見積もり:

「sql:InvalidArgumantException」のインスタンスをスローした後に呼び出される終了

what(): 接続は autoCommit モードです。

私が試したこと:

私はそれを検索しました エラー インターネット上で解決策を提供しませんでした。

解決策 1

自動コミット モードは、ステートメントが実行されるとすぐに、 Commit 接続で呼び出されます。

推測では – 私はあなたのシステムにアクセスしてテストすることはできません – setSchema エラーをスローする呼び出しは、おそらく DB 名が BitmapIMGSchema 問題を引き起こしています。

DB管理ソフトウェアを使用してDBを注意深く調べ、何を操作する必要があるかを正確に確認してください。

申し訳ありませんが、私たちはあなたを助けるために特別なことをすることはできません.

コメント

タイトルとURLをコピーしました