gpt4 book ai didi

java - PreparedStatements 应该抛出异常而不是警告

转载 作者:行者123 更新时间:2023-12-01 11:57:58 28 4
gpt4 key购买 nike

我正在使用PreparedStatements写入数据库,有时我会在日志中看到以下内容:

 2015-02-02 15:44:14,601  WARN SQL Warning Code: 1292, SQLState: 22007
2015-02-02 15:44:14,602 WARN Incorrect datetime value: '2011' for column 'time_end' at row 1

但是这完全没用,因为我看不到代码中的问题所在。是否可以强制 Connection/PreparedStatements 抛出异常而不是这些警告?

最佳答案

这没有多大帮助,但您可以通过调用 Connection.getWarnings()PreparedStatement.getWarnings()ResultSet 来检索警告.getWarnings() 并检查那里的警告对象。这些方法都返回一个 SQLWarning 对象,它是链中的第一个对象;调用 warning.getNextWarning() 查看后续消息。

这当然意味着您必须更改所有数据库代码才能追踪问题;抱歉我现在没有更好的选择。如果有一种方法可以强制 JDBC 代码将这些异常作为真正的可捕获异常抛出,那么它可能是特定于驱动程序的。

关于java - PreparedStatements 应该抛出异常而不是警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28280321/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com