在Java中,删除操作是正确的,但catch也会被执行

时间:2012-07-20 12:27:35

标签: java swing jdbc jcombobox

我的概念是我必须在第一个组合框中选择一个项目。它将根据选择将一些项目添加到第二个组合框。一旦选择了第二个组合框,则检索一些访问表数据。

最后,当我点击Delete时,必须根据两个组合框中的项目删除记录。

我正确删除了记录。但是,我的问题是,每次使用

我都会收到一个错误对话框(我在catch中使用)
  

没有生成结果集

虽然删除正确,但命令提示符中出现

错误。我想知道,里面发生了什么。请帮我诊断。

try
{

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection conn=DriverManager.getConnection("jdbc:odbc:vasantham","","");
  Statement st=conn.createStatement();
  ResultSet rs=st.executeQuery("delete from try where tname='"+scb+"' and   Purpose='"+scp+"'");

  JOptionPane.showMessageDialog(null,"Your entry has been DELETED successfully!!!");

}
catch(Exception e)
{
  JOptionPane.showMessageDialog(null,"Error!Try again!");
  System.out.println(e);

}

1 个答案:

答案 0 :(得分:4)

您正在使用必须与选择一起使用的st.executeQuery,因为只选择创建一个ResultSet。您正在使用UPDATE查询,该查询不会产生ResultSet错误。

在您的情况下,您需要使用executeUpdate

int result = st.executeUpdate(...)

结果将包含已删除(更新)的行数。