是否可以使用“可更新”jdbc结果集来更新SQLServer数据库中的几何列?SQLServer - 是否可以使用jdbc结果集更新几何列?
我试过updateString()和updateObject()方法都无济于事。例如:
String point = "geometry::STGeomFromText('POINT (30 -20)',4326)";
rs.updateString("COORDINATE", point);
rs.update();
抛出异常:
com.microsoft.sqlserver.jdbc.SQLServerException: The string is not in a valid hex format.
我一直没能找到这个错误是什么意思。我需要逃避某些角色吗?我是否允许以字符串形式传递函数?或者我应该使用不同的更新方法,如updateBlob()或updateNCharacterStream()?
顺便说一句,我可以使用准备的语句更新几何,但我不喜欢。例如:
String sql = "UPDATE MY_TABLE SET COORDINATE=geometry::STGeomFromText(?,4326) WHERE ID=?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, "POINT (30 -20)");
同样,我不想使用预处理语句。我想用结果集更新记录(例如updateString)。