登陆窗口的数据库连接与验证

Janyue 2006-04-22 03:37:21
小第初学java,用JBuilder的GUI创建一个登陆窗口时不知道应该怎样进行验证,请大哥大姐们指点一下啊!

public void jButton1_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
System.out.println(ex);
}
String url="jdbc:odbc:users";
try {
Connection con = DriverManager.getConnection(url, "sa", "sa");
Statement stmt =con.createStatement();
String str1=jTextField1.getText();
ResultSet rs=stmt.executeQuery("select * from users where uid='"+str1+"'");
if(rs.next()){
String str2=jTextField2.getText();
ResultSet rt=stmt.executeQuery("select * from users where pwd='"+str2+"'");
if(rt.next()){
Frame2 f2 = new Frame2();
f2.setSize(400,500);
f2.show();
}else{
JOptionPane.showMessageDialog(this,"密码错误");
}

}else{
JOptionPane.showMessageDialog(this,"帐号不存在");
}
} catch (SQLException ex1) {
System.out.println(ex1);
}
}
}

总感觉上面的代码有问题,不能达到验证效果!
虚心请教ing.........
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Janyue 2006-04-23
  • 打赏
  • 举报
回复
恩!
是要找到 id 和 pwd 在数据库中的相应的列
用equals判断是否与输入的内容相同进行验证!
一语惊醒啊!
我在试试!
tomison 2006-04-22
  • 打赏
  • 举报
回复
你的程序肯定有问题了,绝对达不到楼主你所要的效果!
public void jButton1_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
System.out.println(ex);
}
String url="jdbc:odbc:users";
try {
Connection con = DriverManager.getConnection(url, "sa", "sa");
String UserID=jTextField1.getText();
       String pwd=jTextField2.getText();
PreparedStatement sql=con.prepareStatement("select * from users where uid=? and pwd=?);
sql.setString(1,UserID);
sql.setString(2,pwd);
ResultSet rs=stmt.executeQuery();
if(rs.next()){
Frame2 f2 = new Frame2();
f2.setSize(400,500);
f2.show();
}else{
JOptionPane.showMessageDialog(this,"密码或账号错误");
}

} catch (SQLException ex1) {
System.out.println(ex1);
}
}
}

Eeqagu 2006-04-22
  • 打赏
  • 举报
回复
你的没有用JAVA BEAN
上面的我给错了
while (rs.next()){
if (this.jTName.getText().equals(rs.getString(用户名在数据库的第几列)) &&pwd.equals(rs.getString(密码在数据库的第几列))){
JOptionPane.showMessageDialog(null, "登录成功!");
this.dispose();
//主窗体show();




应该用equals判断是否与输入的内容相同.
Eeqagu 2006-04-22
  • 打赏
  • 举报
回复
public static void main(String[] args) {
LoginFrame lf= new LoginFrame();
lf.setSize(400,280);
int x = (Toolkit.getDefaultToolkit().getScreenSize().width - lf.getSize().width)/2;
int y = (Toolkit.getDefaultToolkit().getScreenSize().height - lf.getSize().height)/2;
lf.setLocation(x,y);
lf.setTitle("登录");
lf.setVisible(true);

}

public void jBexit_actionPerformed(ActionEvent e) {
if (JOptionPane.OK_OPTION== JOptionPane.showConfirmDialog(c,"是否真的退出?"," 退出提示!",JOptionPane.OK_CANCEL_OPTION))
{
System.exit(0);
}

}
Janyue 2006-04-22
  • 打赏
  • 举报
回复
虚心请教ing.........!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧