Java 登录限制
第一次尝试JavaJava 登录限制,java,login,resultset,Java,Login,Resultset,第一次尝试Java String sql = "SELECT * FROM admin"; try { Class.forName("com.mysql.jdbc.Driver"); Connection con= (Connection) DriverManager.getConnection("jdbc:mysql:///mcdc","root",""); St
String sql = "SELECT * FROM admin";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con= (Connection)
DriverManager.getConnection("jdbc:mysql:///mcdc","root","");
Statement st=con.createStatement();
rs = st.executeQuery(sql);
String me = aname.getText();
String passs = String.valueOf(apass.getPassword());
String username1=rs.getString("username");
String password1=rs.getString("password");
JFrame frm = new JFrame();
int tmp=0;
while(tmp < 3) {
if(rs.next()){
if((!me.equals(username1)) && (!passs.equals(password1)))
{
JOptionPane.showMessageDialog(frm, "INVALID! ", "Error", JOptionPane.ERROR_MESSAGE);
aname.setText("");
apass.setText("");
}
else
{
this.setVisible(false);
new admin_menu().setVisible(true);
}
}
}
tmp++;
JOptionPane.showMessageDialog(frm, "You screwed up! ", "Error", JOptionPane.ERROR_MESSAGE);
}
con.close();
catch(Exception er){
JFrame frm = new JFrame();
System.err.println("Exception: " + er.getMessage());
}
String sql=“选择*来自管理员”;
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
连接con=(连接)
getConnection(“jdbc:mysql:///mcdc“,”根“,”);
语句st=con.createStatement();
rs=st.executeQuery(sql);
String me=aname.getText();
String passs=String.valueOf(apass.getPassword());
字符串username1=rs.getString(“用户名”);
字符串密码1=rs.getString(“密码”);
JFrame frm=新JFrame();
int-tmp=0;
而(tmp<3){
如果(rs.next()){
如果((!me.equals(username1))&(!passs.equals(password1)))
{
显示消息对话框(frm,“无效!”,“错误”,JOptionPane.Error\u消息);
aname.setText(“”);
apass.setText(“”);
}
其他的
{
此.setVisible(false);
新建管理菜单().setVisible(true);
}
}
}
tmp++;
showMessageDialog(frm,“你搞砸了!”,“Error”,JOptionPane.Error\u消息);
}
con.close();
捕获(异常er){
JFrame frm=新JFrame();
System.err.println(“异常:+er.getMessage());
}
例外情况:
结果集关闭后不允许执行操作
我正在尝试验证登录,这是我收到的错误消息。为什么要使用“int tmp”来验证登录?如果我没弄错,你能不能试着删除int i,而tmpi是整个错误?@immibis是的,这就是我得到的所有信息。你可以显示堆栈跟踪(
er.printStackTrace()
)来显示它在哪一行上……你在哪一行上得到错误。你能打印堆栈跟踪吗