1

私のコンセプトは、最初のコンボボックスでアイテムを選択する必要があるということです。選択に基づいて、いくつかの項目が 2 番目のコンボ ボックスに追加されます。2 番目のコンボボックスが選択されると、いくつかのアクセス テーブル データが取得されます。

最後に、 をクリックDeleteすると、2 つのコンボ ボックスにある項目に基づいてレコードを削除する必要があります。

レコードが正しく削除されます。しかし、私の問題は、毎回エラー ダイアログ (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);

}
4

1 に答える 1

4

st.executeQuery選択のみがResultSetを作成するため、選択で使用する必要があるものを使用しています。ResultSetUPDATE クエリを使用しているため、エラーが発生しません。

あなたの場合、使用する必要がありますexecuteUpdate

int result = st.executeUpdate(...)

結果には、削除された (更新された) 行の数が含まれます。

于 2012-07-20T12:37:30.490 に答える