質問です。
タイトルの通りですがSELECT文のWHERE句に変数を当てはめるにはどうすれば良いでしょうか。
現在Mysqlの情報を一覧で表示し、そこからレコードの更新などを行うWEBアプリを作成中なんですが、この更新の際に一度レコードの情報を抽出して入力フォームの初期値にしたいと思ってます。
レコードを抽出するときは一覧に表示している主キーの番号を使おうとしているのですが、これをsql文に当てはめる方法がわかりません・・・
以下がsql文を行おうとしているメソッドになります。
public DetailInfo findDetail(String eId) { DetailInfo detailinfo = null; String sql = "select * from e_info where e_id = eId"; // DB接続終了 try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url, user, password); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); if (rs.next()) { // ユーザー情報を取得 DetailInfo Deflist = new DetailInfo(); Deflist.setEmployeeId(rs.getString("e_id")); Deflist.setName(rs.getString("name")); Deflist.setNameHiragana(rs.getString("name_hurigana")); Deflist.setCompany_id(rs.getString("birthday")); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { } rs = null; } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { } pstmt = null; } if (conn != null) { try { conn.close(); } catch (SQLException e) { } conn = null; } } return detailinfo; }
デバックを行ってみるとeIdに必要な値は入っているのでそれをsql文に入れられるかどうかだと思います。
Insert文の場合とかだとValuesを使って?に値を入れることができたのですがWhere句の場合はどうすれば良いでしょうか。
詳しい方いらっしゃればご教授お願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。