private void Label_GenerateMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{
String sql = "select from Account ORDER BY RAND()";
PreparedStatement st = con.prepareStatement(sql);
ResultSet rs = st.executeQuery();
if(rs.next()){
TextField_Username.setText(rs.getString("EMAIL"));
TextField_Password.setText(rs.getString("PASSWORD"));
}
}catch(Exception e){
System.out.println("Cannot generate.");
}
}
这段代码一直捕获错误,我不知道为什么。我得到错误java.lang.NullPointerException。请帮助
我明白了。我没有打开连接功能。给您添麻烦了。
试试这个:
String sql = "select EMAIL,PASSWORD from Account ORDER BY RAND()";
PreparedStatement st = con.prepareStatement(sql);
ResultSet rs = st.executeQuery();
if(rs.next()){
TextField_Username.setText(rs.getString("EMAIL"));
TextField_Password.setText(rs.getString("PASSWORD"));
}
首先,您的SQL语句不正确。而不是
"select from Account ORDER BY RAND()"
应该是
"select Email, Password from Account ORDER BY RAND()"
在执行select操作时,您需要指定要选择的列,或者使用*来指定所有表。但是,生产SQL代码永远不应该做SELECT *
;您应该只指定实际使用的列,以避免泄漏数据和浪费时间。
另外,我希望Password
列的数据加密…