사용자 등록에 사용 된 아래 코드에 관해 3 가지 질문이 있습니다.Java JDBC - 사용자 등록 및 로그인
1) 사용자가 사용자 이름과 암호 영역에 빈 값을 제공하여 스스로 등록하지 못하게하려면 어떻게해야합니까?
2) & 사용자 자격 증명이 이미 데이터베이스에있는 경우 양식을 다시 실행하는 것이 좋습니다. 메인 화면으로 돌아갈 다른 방법이 있습니까?
3) 내 프로그램이 제대로 실행되지만 'JPasswordField 유형의 메소드 getText()가 사용되지 않습니다.'와 같은 줄에 경고 메시지가 표시됩니다. 그게 정확히 무슨 뜻입니까?
코드 :
public void actionPerformed(ActionEvent arg0) {
try
{
String userID = userIDinput.getText();
String pass = passwordField.getText();
String myDriver = "com.mysql.jdbc.Driver"; //jdbc driver loaded
String myUrl = "jdbc:mysql://localhost:3306/masterdata_db?autoReconnect=true&useSSL=false";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "root", "");
Statement st = conn.createStatement();
ResultSet resultSet;
String check = "SELECT Username FROM userregistration WHERE Username = '"+userID+"' ";
resultSet = st.executeQuery(check);
if(!resultSet.next()){
String sql = "INSERT INTO userregistration"
+ "(Username, Password) VALUES"
+ "(?,?)";
PreparedStatement pSt=conn.prepareStatement(sql);
pSt.setString(1, userID);
pSt.setString(2, pass);
pSt.executeUpdate();
conn.close();
}
else {
JOptionPane.showMessageDialog(frame, "USER ALREADY EXISTS. TRY ANOTHER ONE!", "Inane error",JOptionPane.ERROR_MESSAGE);
dispose();
new Login().setVisible(true);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
더 이상 사용되지 않는 메소드는 더 이상 사용해서는 안되며, 새로운 코드를 작성하면 사용되지 않는 메소드를 완전히 피할 수 있기 때문에 호환성을 위해 사용됩니다. 대신 getText() 대신 getPassword() 메서드를 사용하십시오. –
Pls는 게시물 당 두 개 이상의 질문을하지 않습니다. 답변과 검색이 훨씬 어려워집니다. – Shadow