1

単純なデータベースがあり、int値を更新したいと思います。最初にクエリを実行して、ResultSet(sql :: ResultSet)を取得します。結果セットの各エントリについて、テーブルの1つの特定の列にある値を変更し、それをデータベースに書き戻すか、その行のそのエントリを更新します。

ドキュメントに基づいて、それを行う方法は私には明確ではありません。更新とともに「Insert」ステートメントが表示され続けますが、それが必要だとは思いません。データのほとんどの行をそのまま保持したいので、1つの列を更新するだけです。

誰かが私にいくつかのサンプルコードまたは他の明確なリファレンス/リソースを教えてもらえますか?

編集:

または、特定のフィールド(行/列)を更新してint値をある値だけインクリメントするようにデータベースに指示する方法はありますか?

編集:

では、人々がC ++からMySQLを使用する典型的な方法は何ですか?Capiまたはmysql++を使用しますか?間違ったAPIを選択したと思います...

4

1 に答える 1

1

ドキュメントのクイックスキャンから、Connector /C++はC++用のJavaJDBCAPIの部分的な実装であるように見えます。更新可能な結果セットへの参照が見つからなかったため、これが不可能な場合があります。Java JDBCでは、ステートメントがResultSet.CONCUR_UPDATABLE同時実行性で作成された場合、ResultSetインターフェースに現在の行を更新するためのサポートが含まれています。

Connector /C++が更新可能な結果セットをサポートしているかどうかを調査する必要があります。

編集:行を更新するには、SQL UPDATEを含むPreparedStatementを使用してから、ステートメントのexecuteUpdate()メソッドを使用する必要があります。このアプローチでは、WHERE句を使用して更新するレコードを特定する必要があります。例えば

update users set userName='John Doe' where userID=?

次に、PreparedStatementを作成し、パラメーター値を設定してから、executeUpdate()を実行します。

于 2009-12-04T03:47:34.247 に答える