首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库删除操作

数据库删除操作
EN

Stack Overflow用户
提问于 2017-07-19 04:15:26
回答 1查看 63关注 0票数 1

我想在我的数据库上执行一个简单的删除操作,但是我的程序变得繁忙并且停止响应。我不知道发生了什么,因为它没有显示错误。

代码语言:javascript
复制
private void deleteCustomer(ActionEvent event) {
    String mName = name.getText(); 
    String mID = id.getText();


    Boolean flag = mName.isEmpty() || mID.isEmpty(); 
    if(flag){
        Alert alert = new Alert(Alert.AlertType.ERROR); 
        alert.setHeaderText(null);
        alert.setContentText("Please Enter All Fields.");
        alert.showAndWait();
        return;
    }
     String st = "DELETE CUSTOMER WHERE id = '"+ mID +"'" ;
    System.out.println(st);
    if(handler.execAction(st)){
        Alert alert = new Alert(Alert.AlertType.INFORMATION); 
        alert.setHeaderText(null);
        alert.setContentText("Deleted");
        alert.showAndWait();
        //return;
    }else{
        Alert alert = new Alert(Alert.AlertType.ERROR); 
        alert.setHeaderText(null);
        alert.setContentText("Error Occured");
        alert.showAndWait();

    }
}

下面是我用来完成任务的方法

代码语言:javascript
复制
 public boolean execUpdate(String query){
    try {
        stmt = conn.createStatement();
        //stmt.executeUpdate(query);
        if(stmt.executeUpdate(query) == 1){
           // JOptionPane.showMessageDialog(null, "data " + message);
            System.out.println("data deleted succefully!!");
        }

        return true; 
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, "error: "+ e.getMessage(), "error occoured", JOptionPane.ERROR_MESSAGE);
        System.out.println("Exception at execQuery: dataHandler" + e.getLocalizedMessage());
        return false; 
    }finally{
}


public boolean execAction(String query){
    try {
        stmt = conn.createStatement();
        stmt.execute(query);

        return true; 
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, "error: "+ e.getMessage(), "error occoured", JOptionPane.ERROR_MESSAGE);
        System.out.println("Exception at execQuery: dataHandler" + e.getLocalizedMessage());
        return false; 
    }finally{
}
}
EN

回答 1

Stack Overflow用户

发布于 2017-07-19 04:22:41

我想您忘记在SQL中添加FROM关键字了。

代码语言:javascript
复制
String st = "DELETE FROM CUSTOMER WHERE id = '"+ mID +"'" ; 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45176267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档