如何在VB.NET中的postegreSQL表中插入几何?

时间:2019-05-23 15:04:44

标签: vb.net postgis

我想将几何数据插入到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相同。

我看不到语法错误在哪里。

我想从中学到东西,所以,如有可能,请向我解释我在这里做错了什么,或者我的方法缺乏见识。

1 个答案:

答案 0 :(得分:0)

st_geometryfromtext需要一个字符串,因此必须用引号引起来

 Call executeCommand("insert into netgeo_cable(geom) values (st_geometryfromtext('MULTILINESTRING((" & test & "))',2154))", myConnection)