关于ResultSet 和statementde 问题 高手帮下忙~!~!~!!
代码如下:
public void actionPerformed(ActionEvent a) {
String cmd = a.getActionCommand();
JDialog d = new JDialog();
zh = textField.getText();
mima = textField_1.getText();
Connection conn;
Connection con;
Statement sq,qq;
ResultSet rs,tt=null ;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception t) {
}
try {
con = DriverManager.getConnection("jdbc:odbc:学生管理", "lxq", "123456");
sq = con.createStatement();
qq=con.createStatement();
rs = sq.executeQuery("select 账号,密码 ,学号 from 账号表 ");
if (cmd.equals("确定")) {
while (rs.next()) {
if (rs.getString(1).equals(zh)&& (rs.getString(2).equals(mima))) {
String xh=rs.getString(3); rs.close();
sq.close();
tt = qq.executeQuery("select 学生表.学号, 姓名,性别,班级,学院"
+ " from 学生表,账号表 where 学生表.学号=账号表.学号 ");
while (tt.next()) {
if (tt.getString(1).equals(xh)) {
name = tt.getString("姓名");
sex = tt.getString("性别");
bj = tt.getString("班级");
xy = tt.getString("学院");
System.out.print(name);
System.out.print(sex);
System.out.print(bj);
System.out.print(xy);
break;
}
}
JOptionPane.showMessageDialog(d, "登录成功,5秒后转到系统界面","" + "", JOptionPane.WARNING_MESSAGE);
break;
}
else continue;
}
}
if (rs.next() == false) {
JOptionPane.showMessageDialog(d, "用户名或密码错误!", "请重新输入",
JOptionPane.WARNING_MESSAGE);
}
if (cmd.equals("取消")) {
textField.setText(null);
textField_1.setText(null);
}
} catch (Exception es) {
}
if (cmd.equals("选项")) {
if (cmd.equals("退出"))
System.exit(0);
}
}
我的想法是 如果账号和密码都匹配了 就得到一个新的resultset tt
然后再给 name sex bj xy赋值 付完值之后就 执行JOptionPane.showMessageDialog(d, "登录成功,5秒后转到系统界面","" + "",JOptionPane.WARNING_MESSAGE); 可是 就是无法执行
要是去掉下面的代码 就能响应 JOptionPane.showMessageDialog(d, "登录成功,5秒后转到系统界面","" + "",JOptionPane.WARNING_MESSAGE);
去掉代码如下:
tt = qq.executeQuery("select 学生表.学号, 姓名,性别,班级,学院"
+ " from 学生表,账号表 where 学生表.学号=账号表.学号 ");
while (tt.next()) {
if (tt.getString(1).equals(xh)) {
name = tt.getString("姓名");
sex = tt.getString("性别");
bj = tt.getString("班级");
xy = tt.getString("学院");
System.out.print(name);
System.out.print(sex);
System.out.print(bj);
System.out.print(xy);
break;
}
}
帮帮忙咯 我弄好就了
我一个statement 对应一个resultset