0

私はJavaを使用してmysqlテーブルへのバッチ挿入を行っています:

cnx = lconnect.openConnection();
mStatement = cnx.createStatement();
boolean firstTime = true;
PreparedStatement preparedStatement = null;

preparedStatement = cnx.prepareStatement(strQuery);
preparedStatement.setString(param1);
preparedStatement.setString(param2);
....
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);

preparedStatement.execute();

挿入された行の数を実際に知る方法はありますか?

DBの行数で動作している(?)コードが挿入されるはずの行数と一致していないと思うので、y個の挿入に問題があるのではないかと思います。

4

2 に答える 2

2

に電話する必要がありますexecuteBatch()。返される配列には、必要な情報が含まれています。

JavaDocから:

戻り値:バッチ内のコマンドごとに1つの要素を含む更新カウントの配列。配列の要素は、コマンドがバッチに追加された順序に従って順序付けられます。

于 2012-05-03T08:53:50.983 に答える
-2

各バッチレコードにオブジェクトを使用PreparedStatementします:)

于 2012-05-03T08:51:49.113 に答える