java - 如何避免此 SQL 异常?

标签 java sql eclipse jdbc

我有一个我编写的 DBconnector 类。这是一个使用它具有的插入查询方法的实例。暂时忽略查询:

ResultSet NewCustomer = db.executeInsert("SELECT s Bookings VALUES (surnameOut,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')");

目前,上面的行出现“未处理的异常类型 SQLException”错误。它建议我用 try/catch 语句包围上面的内容,或者给保存代码的方法抛出异常。我希望有某种方法可以从 DBconnector 类中对其进行排序,以便我可以维护微小的单行来执行 SQL 查询。这可能吗?

这是来自方法executeInsert 方法的代码:

public ResultSet executeInsert(String query)throws SQLException {
        Statement s = null;
        ResultSet rs = null;
        try{
            s = con.createStatement();
            s.executeQuery(query);
            rs = s.getResultSet();
        }
        catch(SQLException e){}
        return rs;
    }

最佳答案

I was hoping there was some way to sort it out from within the DBconnector class, so that I can maintain tiny, single lines for executing SQL queries.

那么,当您遇到损坏的查询时,您希望发生什么(例如,因为您正在尝试执行实际选择的插入)。您是否真的想要完全忽略失败,甚至不记录它,就像您当前的方法那样?这几乎永远都不是正确的方法。在许多情况下,如果数据库查询失败,您应该中止您正在做的任何事情 - 异常应该使堆栈冒泡到某个高级“工作单元”,无论是请求、用户操作还是其他什么。

Java 检查异常的原因正是为了强制你思考你想要如何处理错误 - 所以不要忽略它,真正思考你的想法' d 希望发生...并且如果此方法没有足够的上下文来说明(它可能没有),您应该让异常冒泡,并迫使调用者思考。

关于java - 如何避免此 SQL 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711813/

相关文章:

Java 正则表达式 : 4 Letters followed by 2 Integers

java - 无法使用 Intellij Idea community 12.1.4 和 maven 3.0.5 下载源代码

Java:内存分析器工具 (MAT) 用法:比较两个 heapdump

sql - 如何使用聚合函数sql server选择列

java - 如何丢弃maven项目中的本地依赖?

java - 是否可以使用 IBM WebSphere JAX-WS 运行时在 Eclipse 4.x 中生成 Web 服务?

java - 无法从 Eclipse 市场安装 TestNG,出现以下错误 :

java - 如何编辑 F2 的 JTable 键绑定(bind)

mysql - SQL 存储过程字符串搜索通过传递的参数和使用 'LIKE' 查询

mysql - 如何使用 SQL 查询连接数据库中具有相似名称的一组表?