java - 如何检查光标是否在ResultSet的插入行中?

标签 java mysql jdbc resultset

我有一个 java.sql.ResultSet 对象,我需要将其数据保存到数据库中。光标可以位于插入行(已调用 moveToInsertRow())或现有数据库行。在第一种情况下,我需要调用 insertRow(),在后一种情况下,我需要调用 updateRow()。我怎么知道该调用哪一个?

当然,我可以在调用 moveToInsertRow() 时设置一个标志,但我认为会有 isInsertRow() 或类似的东西?我尝试了 rowInserted() ,但 MySQL 不支持它,而且我认为它只有在调用 isInsertRow() 后才有效。

最佳答案

如果没有当前行,

getRow() 返回 0。这似乎适用于我的情况。

编辑:如果该行已被删除,它也会返回 0,因此这不是一个完美的解决方案。当我调用 deleteRow() 时,我将调用 close() 。然后我可以使用 isClosed() 来检查它是否被删除。 MySQL JDBC 不支持 rowDeleted()

关于java - 如何检查光标是否在ResultSet的插入行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23168120/

相关文章:

c# - 异常 : No suitable driver found for jdbc:derby:\\serveraddress\db;create=false

postgresql - 如何使用 Postgres 数据库 url 字符串传递证书路径以进行 SSL 连接

java - 如何发出 HTTPS GET 请求来与其他方竞争并尝试成为最快的?

java - 在mavenLocal()中为.jar文件成功添加gradle依赖关系之后,我如何实际从Java类导入和使用该jar

java - 如何从测试中排除@EnableJpaRepositories?

mysql - #1064 错误信息

java - DEBUG 和 RELEASE 在 Java (Eclipse) 中构建?

在WHERE中使用IF语句的Mysql查询?

php - mysqli错误fetch_assoc()

postgresql - JDBC 驱动程序的版本和数据库的版本是否必须完全匹配?