- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白 Connection.getWarning() 和 Statement.getWarnings() 之间有什么区别?Connection.getWarning 包含所有语句的警告和 Statement .getWarnings 包含单个语句的警告是主要区别吗?
最佳答案
Connection.getWarnings
返回连接级警告,而 Statement.getWarnings
返回语句级警告。还有 ResultSet.getWarnings,它(令人惊讶)返回结果集级别的警告。换句话说,如果在 Connection
上调用的方法产生警告,则该警告会添加到连接上、对于在语句上调用 Statement
的方法以及对于结果集上 ResultSet
的方法。
一般来说,Statement
产生的警告不应报告在 Connection
上,并且不应报告 ResultSet
上的警告声明
。例如,参见Statement.getWarnings()
其中说:
Note: If you are processing a
ResultSet
object, any warnings associated with reads on thatResultSet
object will be chained on it rather than on theStatement
object that produced it.
Note: This warning chain only covers warnings caused by
ResultSet
methods. Any warning caused byStatement
methods (such as reading OUT parameters) will be chained on theStatement
object.
JDBC 规范对于警告不是很详细,它只说( JDBC 4.3 ,第 8.2 SQLWarning 节):
When a method generates an
SQLWarning
object, the caller is not informed that a data access warning has occurred. The methodgetWarnings
must be called on the appropriate object to retrieve theSQLWarning
object. However, theDataTruncation
sub-class ofSQLWarning
may be thrown in some circumstances, see Section 8.3 “DataTruncation” on page 8-46 for more details.If multiple data access warnings occur, they are chained to the first one and can be retrieved by recursively calling the
SQLWarning.getNextWarning
method. If there are no more warnings in the chain,getNextWarning
returns null.Subsequent
SQLWarning
objects continue to be added to the chain until the next statement is executed or, in the case of aResultSet
object, when the cursor is repositioned, at which point allSQLWarning
objects in the chain are removed.
以及第 8.3 节数据截断:
When data truncation occurs on a read from the data source, a
SQLWarning
is reported.
以及第 15.1.1 节中的ResultSet
类型:
If the driver does not support the type supplied to the methods
createStatement
,prepareStatement
, orprepareCall
, it generates anSQLWarning
on theConnection
object that is creating the statement.
类似的文本可以在 15.1.2 ResultSet
并发性 和 15.1.3.1 确定 ResultSet
可保存性中找到。
有时 JDBC API 文档会明确提及警告(例如 Connection.setClientInfo(String, String)
和 ResultSet.next()
)。
虽然 JDBC 没有指定,但驱动程序通常也会在 Connection
上的连接过程中报告警告。
关于java - JDBC中Connection.getWarnings()和Statement.getWarnings()的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54866326/
在 go lang 中使用“If with a short statement”有什么好处。引用:go tour if v := math.Pow(x, n); v < lim { retur
完全错误: Warning: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT
完全错误: Warning: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT
我有三个存储过程 Sp1、Sp2 和 Sp3。 第一个 (Sp1) 将执行第二个 (Sp2) 并将返回的数据保存到 @tempTB1 中,第二个将执行第三个 (Sp3) 并将数据保存到 @tempTB
我已将 FLAG 设置为 1,并且正在执行 ARG 值应该仅为 DEV。但是我得到的是 ARG= DEV + CLIENTID 000023 // FLAG=1 000026 // I
我已将 FLAG 设置为 1,并且正在执行 ARG 值应该仅为 DEV。但是我得到的是 ARG= DEV + CLIENTID 000023 // FLAG=1 000026 // I
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
PMD告诉我 A switch with less than 3 branches is inefficient, use a if statement instead. 这是为什么呢?为什么是3?他
我刚开始学习 Racket,所以我仍在努力弄清楚这门语言的复杂性。我正在尝试在列表中实现我自己的搜索功能。如果函数找到它,则返回索引,否则返回 -1。 (define (find-index list
在 Kotlin 中,您可以使用类似于三元运算符的 if 语句。 我们可以选择做这样的事情: val x = if (isOdd) 1 else 2 但是如果我们有多个变量需要根据某些条件进行设置,那
在我的 Android 应用程序中,我尝试使用 XMLPullParser 使用以下代码读取 xml 文件: while (eventType != XmlPullParser.END_DOCUMEN
这个问题已经有答案了: Boolean expressions in Java (8 个回答) 已关闭 7 年前。 我遇到过一些情况,其中第一个似乎改变了 boolean 值,而第二个却没有!两者之间
我基本上想做的是: select * from request where id = 1 and created_at like (today's date); 但使用 Eloquent 。 我试过:
我不确定为什么会收到此代码。基本上我希望能够动态定位我的发射器,但是当我添加一个选项来检查位置并根据需要进行纠正时,我不断收到此错误。 添加的代码是 if (
何时使用语句而不是准备语句。我想语句用于没有参数的查询,但为什么不使用准备好的语句呢?对于没有参数的查询,哪个更快。 最佳答案 I suppose statement is used in queri
我必须创建一个表,如下所示 借款人(客户编号,贷款编号) 如果客户没有超过 3 笔贷款,则可以贷款。 我创建的表如下 create table borrower( customerno int(5),
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicates: Is "else if" faster than "switch() case"? What is the
typescript 版本 2.2.2 我在我的 UserRoutzr.ts 中写了这个要求 const users = require(path.join(process.cwd() + "/da
我有一个用 JPQL 编写的应用程序,它可以命中非常不同的查询(在不同的资源上)。 对于很多此类查询,我需要知道结果总数(计数),因为我没有应用任何 LIMIT/OFFSET 由于此查询的性质非常不同
我对以下 Java 语句感到困惑: ArtClass artClass0 = new ArtClass(); int int3 = 73; boolean boolean0 = artClass0.f
我是一名优秀的程序员,十分优秀!