0

データベースから行を削除しようとしていますが、コントロールは常に下の else 部分に入ります。データベースで同じ削除ステートメントを実行しようとしましたが、そこで機能しました。すべての列名とテーブル名が正しいことを確認しました。

ここで何か間違ったことをしている場合、誰かがガイドできますか?

ありがとう。

public String delAd(String x, String y, String z){

    String result = ""; 
    int rowcount = 0;

    try{

        PreparedStatement ps = con.prepareStatement("DELETE FROM dbname.tablename WHERE iname = ? AND idesc = ? AND seller = ?");
        ps.setString(1,x);
        ps.setString(2,y);
        ps.setString(3,z);

        rowcount = ps.executeUpdate();

        if(rowcount > 0){
            result = "true";
            System.out.println("Delete Successful");
        }else{
            result = "false: Value could not be deleted from the database";
        }

    }catch(Exception e){
        e.printStackTrace();
    }

    return result;
}
4

1 に答える 1

0

クエリを満たす行があるかどうかをテーブルで確認してください。テストする簡単な方法は、下にある値を使用してselectステートメントを実行することです。

 SELECT * FROM TABLENAME WHERE INAME='WATEVER' AND IDESC='WATEVER';

クエリを満たす行がないことは出力から明らかです。これが、制御が他にジャンプしている理由です。

于 2012-10-30T22:43:51.570 に答える