注册 登录
编程论坛 J2EE论坛

更新数据库问题

jqbbccn 发布于 2007-03-21 20:38, 609 次点击

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:jqb","bb","bb");
Statement sql=con.createStatement();
ResultSet rs;
if(ae.getSource()==b1)
{
String name1=t1.getText();String name2=t2.getText();
String name3=t3.getText();String name4=t4.getText();
if(name3.equals(name4))
{
/* rs=sql.executeQuery("select * from operator where username='"+name1+"' and mima='"+name2+"'");
if(rs.first())
{
sql.executeUpdate("update operator set mima='"+name3+"' where username='"+name1+"'");
JOptionPane.showMessageDialog(null,"修改成功");
t1.setText("");t2.setText("");t3.setText("");t3.setText("");t4.setText("");
}*///是不是这段验证有问题?
else
{
JOptionPane.showMessageDialog(null,"用户名不存在或密码错误!");
t1.setText("");t2.setText("");t3.setText("");t3.setText("");t4.setText("");
}

}
else
{
JOptionPane.showMessageDialog(null,"2次密码不一致!");
t3.setText("");t4.setText("");
}
}
else
{
this.dispose();
}
}
catch(Exception e1){System.out.println(e1);}
很简单的操作,但是老是出现异常,不知道错哪儿了,哪位大大帮忙看看,谢谢啦

只有本站会员才能查看附件,请 登录

[此贴子已经被作者于2007-3-21 21:17:08编辑过]

6 回复
#2
时空之蕊2007-03-21 20:51
老大,不是吧!如果异常不写出来谁知道怎么修改阿
#3
风月_无边2007-03-21 21:39
和数据库的读取顺序有关!!
#4
支离破碎2007-03-22 09:01

if(rs.first())
为什么要用这个来判断是否查到用户?????????

你的游标类型是向前只读的,你用这个的时候会出错。

用if(rs.next()) 来试下

#5
angeloc2007-03-22 11:11
if(rs.first())
我想这是个明显是个逻辑错误,你不是想移动游标到第一行吧?!

Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
这是创建可以自由移动,对更新不敏感游标,可更新。

具体内容请参考http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html
#6
时空之蕊2007-03-22 11:15
可能他是想判断是不是存在记录
#7
jqbbccn2007-03-23 21:49
恩,我是想判断是否存在满足条件的一条记录,if(rs.next()) 解决,谢谢大家

恩,学到一点,嘎嘎~
1