+ -
当前位置:首页 → 问答吧 → JDBC登陆验证问题

JDBC登陆验证问题

时间:2011-10-19

来源:互联网

登陆时查询数据库中是否有匹配的用户名和密码

作者: kolnick   发布时间: 2011-10-19

so?

作者: wby13579   发布时间: 2011-10-19

引用 1 楼 wby13579 的回复:

so?

+1

作者: zhaoct   发布时间: 2011-10-19

你想表达啥??

作者: SasONsoft   发布时间: 2011-10-19

求这个代码!

作者: kolnick   发布时间: 2011-10-19

private void loginMouseClicked(MouseEvent evt)
{
admin ad = new admin();
String user = text.getText();
String pass = new String(password.getPassword());
ad = sql.login(user, pass);
if (ad!=null)
{
new RegFrame();
}
else
{

}
}




public admin login(String user, String pass)
{

admin ad = null;
Connection conn = null;
ResultSet rs = null;
PreparedStatement stmt = null;
try
{
conn = dbc.getConnection();
stmt = conn.prepareStatement(this.selectuser);
stmt.setString(1, user);
stmt.setString(2, pass);
stmt.executeQuery();
while (rs.next())
{
ad = new admin();
ad.setId(rs.getInt("id"));
ad.setName(rs.getString("admin"));
ad.setPassword(rs.getString("password"));
}
}
catch (Exception e)
{
System.out.println("帐号或者密码错误");
}
return ad;
}


private String selectuser = "select* from admin where id =? and admin =?;";


谁告诉我那里出错了!


作者: kolnick   发布时间: 2011-10-19

private String selectuser = "select* from admin where id =? and admin =? ;";

作者: itfirefly   发布时间: 2011-10-19

最好先判断一下rs中是否为空,不然会报错.

作者: tbrgsy   发布时间: 2011-10-19

里面有数据的!

作者: kolnick   发布时间: 2011-10-19

这个sql语句楼主不会写吗?

作者: lliiqiang   发布时间: 2011-10-19

是的啊!!!

作者: kolnick   发布时间: 2011-10-19

rs=stmt.executeQuery();//把执行的结果传给rs
要判断一下rs是否为空
if(rs != null){
  执行while
}

private String selectuser = "select* from admin where id =? and admin =?;";
改为:"select * from admin where username=? and password=?";
把username和password改成你数据库的字段名

你试一试。


作者: tbrgsy   发布时间: 2011-10-19

这个是我数据库中的字段的!

作者: kolnick   发布时间: 2011-10-19

int count=rs.getInt(2);
if(count>0){
 “可以登录”
}

作者: lhjtianji   发布时间: 2011-10-19