java与中的数据库操作 成功执行不知为何抛出异常 很奇怪

我进行java的数据库操作时,r=s.executeQuery(temp_String1);这条命令成功执行结果正常一切正常但是问题就是执行过程中居然抛出异常最后显示"发... 我进行java的数据库操作时,r = s.executeQuery(temp_String1);
这条命令成功执行 结果正常 一切正常 但是问题就是执行过程中居然抛出异常

最后显示"发生错误,可能是由于数据不匹配造成的"

其实代码已经成功执行了

源代码如下:

public void jButton15_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
}
try {
c = DriverManager.getConnection(dbUrl, "", "");
} catch (SQLException ex1) {
}
try {
s = c.createStatement();
} catch (SQLException ex2) {
}
if (jTextField20.getText().equals("")) {
jLabel15.setText("无法修改一条学号为空的学生信息");
} else {
temp_String1 = "select * from student where 学号 = '" +
jTextField20.getText() + "'";
System.out.println(temp_String1);
try {
r = s.executeQuery(temp_String1);
} catch (SQLException ex) {
}
try {
if (r.next()) {
temp_String1 = "update student set 姓名 = '" +

jTextField19.getText() + "',性别 = '" +
jTextField16.getText() + "',年龄 = " +
jTextField17.getText() + ",系别 = '" +
jTextField18.getText() + "' where 学号 = '" +
jTextField20.getText() + "'";
System.out.println(temp_String1);
r = s.executeQuery(temp_String1); //产生莫明其妙的错误?被catch到下面去了 但是此时数据已经加入进去了
jLabel15.setText("执行语句 '" + temp_String1 + "' 成功");

} else {
jLabel15.setText("查无此学生");
}
} catch (SQLException ex1) {
jLabel15.setText("发生错误,可能是由于数据不匹配造成的");
}
}
try {
r.close();
} catch (SQLException ex2) {
}
}
展开
 我来答
裤衩反穿尾巴长
2007-11-02 · TA获得超过1105个赞
知道小有建树答主
回答量:451
采纳率:0%
帮助的人:268万
展开全部
如果非查询sql语句需要用s.execute(String sql)方法来实现,
再有,给你提一个小建议,
你的try块太频繁,而且没有catch做错误处理,建议改善一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqm56
2007-11-02 · 超过15用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:58.5万
展开全部
r = s.executeQuery(temp_String1);
不能用s.executeQuery
因为update语句不会返回ResultSet,所以产生数据类型不匹配.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f3bc704
2007-11-02 · 超过22用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:69.8万
展开全部
你把这句jLabel15.setText("发生错误,可能是由于数据不匹配造成的"); 改成ex1.printStackTrace(),将错误信息输出到控制台,看一下是什么错误,才好检查修改.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bhr_jkam
2007-11-02 · TA获得超过133个赞
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
s.executeQuery(temp_String1);//如果是update就不要用Query方法,好像应该是s.excuteUpdate(sqlString);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式