结果集不会在insertRow之后重新选择更新的列表



我试着搜索它,但对结果不满意。基本上,我面临的问题是,当我使用ResultSetName.insertRow()插入行时,记录被成功添加到数据库表中,但它没有反映在我的ResultSet中,这意味着我的ResultSet没有显示使用insertRow()添加的记录。我的resultSet是ResultSet.TYPE_SCROLL_SENSITIVEResultSet.CONCUR_UPDATABLE。我正在使用

DBMS版本:Oracle Database 12c Release 12.1.0.2.0 64位

JDBC版本:JDBC驱动程序版本为12.1.0.1.0

代码片段:

rs.moveToInsertRow();
rs.updateString("COLUMNNAME1","QWERTY");
rs.updateString("COLUMNNAME2","QWERTY DATA");
rs.insertRow();

解决方案:

我的另一台电脑使用JDBC驱动程序12.1.0.2.0,它将插入的行反映到结果集中。然而,以下结果造成了混乱,

代码片段:

DatabaseMetaData met = conn.getMetaData();
if(met.ownInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)) {
    System.out.println("ownInsertsAreVisible : true");
}
else {
    System.out.println("ownInsertsAreVisible : false");
}
if(met.insertsAreDetected(ResultSet.TYPE_SCROLL_SENSITIVE)) {
    System.out.println("insertsAreDetected : true");
}
else {
    System.out.println("insertsAreDetected : false");
}

输出:
ownInsertsAreVisible:false
insertsAreDetected:错误

这很奇怪,但它现在对我的新版本工作,谢谢。

我的另一台电脑使用JDBC驱动程序112.1.0.2.0,它将插入的行反映到结果集中。然而,以下结果造成了混乱,

代码片段:

DatabaseMetaData met = conn.getMetaData();
if(met.ownInsertsAreVisible(ResultSet.TYPE_SCROLL_SENSITIVE)) {
    System.out.println("ownInsertsAreVisible : true");
}
else {
    System.out.println("ownInsertsAreVisible : false");
}
if(met.insertsAreDetected(ResultSet.TYPE_SCROLL_SENSITIVE)) {
    System.out.println("insertsAreDetected : true");
}
else {
    System.out.println("insertsAreDetected : false");
}

输出:
ownInsertsAreVisible:false
insertsAreDetected:false

这很奇怪,但它现在对我的新版本有效,谢谢。

相关内容

  • 没有找到相关文章

最新更新