SQL ステートメントを使用して SQL Server データベースに含まれるデータを変更するには、SQLServerStatement クラスの executeUpdate メソッドを使用できます。 executeUpdate メソッドは、SQL ステートメントをデータベースに渡して処理し、影響を受けた行数を示す値を返します。
この場合、最初に SQLServerConnection クラスの createStatement メソッドを使用して、SQLServerStatement オブジェクトを作成する必要があります。
次の例では、AdventureWorks2022 サンプル データベースへのオープン接続が関数に渡され、テーブルに新しいデータを追加する SQL ステートメントが構築され、ステートメントが実行され、戻り値が表示されます。
public static void executeUpdateStatement(Connection con) {
try(Statement stmt = con.createStatement();) {
String SQL = "INSERT INTO TestTable (Col2, Col3) VALUES ('a', 10)";
int count = stmt.executeUpdate(SQL);
System.out.println("ROWS AFFECTED: " + count);
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}
Note
パラメーターを含む SQL ステートメントを使用して SQL Server データベース内のデータを変更する必要がある場合は、SQLServerPreparedStatement クラスの executeUpdate メソッドを使用する必要があります。
データの挿入先の列にスペースなどの特殊文字が含まれる場合は、それが既定値である場合を含め、挿入する値を指定する必要があります。 ここで指定しないと、挿入操作が失敗します。
JDBC ドライバで、発生した可能性があるすべてのトリガが返した更新数を含む、すべての更新数を返す場合、lastUpdateCount 接続文字列プロパティを "false" に設定します。 lastUpdateCount プロパティの詳細については、「接続プロパティの設定」を参照してください。