为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:
【CPU】:
【问题描述】*:
1.创建一个只包含JSON\JSONB类型的表结构
CREATE TABLE "JSON"
(
"JSON" JSON,
"JSONB" JSONB) ;
2.使用驱动更新
@Test
public void testModifyJson() throws SQLException {
Assert.assertNotNull("连接为空", conn);
String sql = "SELECT \"JSON\", \"JSONB\" \n" +
"FROM \"JSON\";\n";
PreparedStatement statement =null;
try {
statement = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
statement.setMaxRows(100);
ResultSet resultSet = statement.executeQuery();
resultSet.first();
resultSet.updateObject(1, "1");
resultSet.updateRow();
} catch (SQLException e) {
e.printStackTrace();
}finally {
statement.close();
}
}
报错信息如下
3.查看驱动报错位置,发现第一列JSON类型没有表名和列名信息
确实有问题,您可以先改用显式
PreparedStatement
执行UPDATE
语句绕过问题,感谢反馈!