是否可以使用「可更新」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)。