使用预准备声明从表中删除的问题

时间:2012-10-30 22:28:36

标签: java jdbc

我试图从数据库中删除一行,但控件总是进入下面的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;
}

1 个答案:

答案 0 :(得分:0)

检查您的表格中是否有任何行满足查询。简单的测试方法是使用下面的值进行选择语句。

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

从输出中可以明显看出,没有任何行满足您的查询,这就是为什么控制跳转到其他地方。