我有一个我编写的 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/