我想将几何数据插入到postgreSQL的表中。
我尝试一切后都收到相同的错误。
我得到的错误是:ERROR [42601] : syntax error on or near "6670931.45"; Error while executing the query
这是我的代码:
Dim test As String = "91844271.14 6670931.45"
Call executeCommand("insert into netgeo_cable(geom) values (st_geometryfromtext(MULTILINESTRING((" & test & ")),2154)", myConnection)
executeCommand()
是一种发送请求的简单方法:
Sub executeCommand(ByVal sql As String, ByRef myConnection As System.Data.Odbc.OdbcConnection, Optional ByRef adBaseAccess As String = "")
Dim myCommand As OdbcCommand
Try
myCommand = New OdbcCommand(sql, myConnection)
myCommand.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Requête échouée" & ex.Message)
End Try
End Sub
我检查了自己在表中的约束是否为MULTILINESTRING
。 SRID与表中声明的SRID相同。
我看不到语法错误在哪里。
我想从中学到东西,所以,如有可能,请向我解释我在这里做错了什么,或者我的方法缺乏见识。
答案 0 :(得分:0)
st_geometryfromtext
需要一个字符串,因此必须用引号引起来
Call executeCommand("insert into netgeo_cable(geom) values (st_geometryfromtext('MULTILINESTRING((" & test & "))',2154))", myConnection)