前提
新卒未経験です。
Java研修でログインとパスワード変更機能をdbのデータから機能させるシステムを作っています。
パスワード変更の機能にて、
コンパイルは通るのですが、最後の出力で更新後のパスワードが出力されず、1と出力されます。
(下記、System.out.println("あなたの新しいパスワード" + newPw);)
ご教示いただけると幸いです。
よろしくお願いします。
実現したいこと
最後のSystem.out.printlnで更新後のパスワードが出るようにしたい。
発生している問題・エラーメッセージ
該当のソースコード
Java
1ソースコード
package dbkensyu;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Password {
public static int password() throws IOException, SQLException { int newPw = 0; int changePw = 0; boolean sqlCheck; String uri = "jdbc:postgresql://localhost:5432/lcripdb"; String username = "postgres"; String password = "password"; try(Connection conn = DriverManager.getConnection(uri,username,password); Statement stmt = conn.createStatement();){ System.out.println("パスワードの値を変更します。"); System.out.println("ご自身のユーザIDを入力をしてください。"); do { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String strId = br.readLine(); int inputId = Integer.parseInt(strId); System.out.println("入力したID " + inputId ); String sqlData = "SELECT * FROM accountlist WHERE user_id = " + inputId + ";"; ResultSet rsData = stmt.executeQuery(sqlData); sqlCheck = rsData.next(); if(sqlCheck == false) { System.out.println("ユーザIDが存在しません。"); System.out.println("もう一度入力してください。"); continue; }else{ System.out.println("ユーザIDの確認が取れました。"); System.out.println("変更する新しいパスワードを入力して下さい。"); BufferedReader brPass = new BufferedReader(new InputStreamReader(System.in)); String strPw = brPass.readLine(); newPw = Integer.parseInt(strPw); String sqlPw = "UPDATE public.accountlist SET password = " + newPw + " WHERE user_id = " + inputId + ";"; newPw = stmt.executeUpdate(sqlPw); //changePw = rsnewPw.getInt("password"); System.out.println("パスワードの変更に成功しました。"); System.out.println("あなたの新しいパスワード" + newPw); return changePw; } }while(sqlCheck == false); }catch(SQLException e) { e.printStackTrace(); } return changePw; }
}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。