Java数据库随机显示


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列的数据加密…

最新更新