(同じ利用者による、間の8版が非表示) | |||
1行目: | 1行目: | ||
[[java.sql のクラスたち|java.sql]].PreparedStatement [https://docs.oracle.com/javase/jp/8/docs/api/java/sql/PreparedStatement.html] | [[java.sql のクラスたち|java.sql]].PreparedStatement [https://docs.oracle.com/javase/jp/8/docs/api/java/sql/PreparedStatement.html] | ||
私はプリコンパイルされたSQL文を作成するインターフェースです。SQL文はプリコンパイルされ、PreparedStatementインスタンスに格納されます。その後、そのインスタンスはこのSQL文を効率的に実行するために再利用されます。 | |||
==メソッド== | ==メソッド== | ||
12行目: | 12行目: | ||
* setNull - 指定パラメータにSQL NULLをセットする | * setNull - 指定パラメータにSQL NULLをセットする | ||
=== | ===SQL実行=== | ||
* execute - あらゆる種類のSQL文を実行し是非を返す | * execute - あらゆる種類のSQL文を実行し是非を返す | ||
* executeUpdate - Update系SQL文を実行し変更された行数を返す | * executeUpdate - Update系SQL文を実行し変更された行数を返す | ||
* executeQuery - SELECT文で取り出したデータを[[ResultSet]]インスタンスに格納する | |||
==例== | ==例== | ||
try ([[Connection]] | public static void deleteRow(String date) { | ||
PreparedStatement ps = | try ([[Connection]] cnc = DriverManager.getConnection(URL, USER, PASSWD);) { | ||
PreparedStatement ps = cnc.prepareStatement("DELETE FROM pfmc WHERE date=?"); | |||
ps.setDate(1, date); | ps.setDate(1, date); | ||
int r = ps.executeUpdate(); | int r = ps.executeUpdate(); | ||
if (r != 0) { | |||
System.out.println("Deleted the data."); | |||
} | |||
ps.close(); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
} | |||
} |
2019年6月28日 (金) 20:07時点における最新版
java.sql.PreparedStatement [1]
私はプリコンパイルされたSQL文を作成するインターフェースです。SQL文はプリコンパイルされ、PreparedStatementインスタンスに格納されます。その後、そのインスタンスはこのSQL文を効率的に実行するために再利用されます。
メソッド
SQLセット
- setString - 指定パラメータにString値をセットする
- setInt - 指定パラメータにInt値をセットする
- setFloat - 指定パラメータにfloat値をセットする
- setDate - 指定パラメータにjava.sql.Date値をセットする
- setTime - Calendarインスタンスを使用して指定パラメータにjava.sql.Time値をセットする
- setNull - 指定パラメータにSQL NULLをセットする
SQL実行
- execute - あらゆる種類のSQL文を実行し是非を返す
- executeUpdate - Update系SQL文を実行し変更された行数を返す
- executeQuery - SELECT文で取り出したデータをResultSetインスタンスに格納する
例
public static void deleteRow(String date) { try (Connection cnc = DriverManager.getConnection(URL, USER, PASSWD);) { PreparedStatement ps = cnc.prepareStatement("DELETE FROM pfmc WHERE date=?"); ps.setDate(1, date); int r = ps.executeUpdate(); if (r != 0) { System.out.println("Deleted the data."); } ps.close(); } catch (Exception e) { e.printStackTrace(); } }