这个SQL查询中的语法错误在哪里?

时间:2017-04-20 16:14:53

标签: mysql vb.net visual-studio postgis

我正在使用来自VB的PostGIS和空间数据类型,我有这个插入查询,我用它来保存放置在地图上的标记的数据(我想保存经纬度的经纬度)标记放在数据库中的地图上)。我尝试使用“double”和“decimal”,但这是我认为最节省坐标的“专业”方式..

$"insert into personas values ('" & idpers & "','" & txtNombre.Text & "','" & txtApe.Text & "','" & txtTel.Text & "','" & txtDire.Text & "','" & cboxZona.SelectedItem & "',ST_GeomFromText('POINT('" & txtLatBD.Text & "' '" & txtLngBD.Text & "')'))"

我想我在某个地方错过了一个符号,但我看不到哪里。当我从控制台插入相同的数据时,它工作正常..

1 个答案:

答案 0 :(得分:1)

@Plutonix是正确的 - 但是为了回应您的语法错误问题,您似乎有额外的引号: 例如:

ST_GeomFromText('POINT(-70.060544 40.28707)');

你的(数字替换变量):

ST_GeomFromText('POINT('-70.060544' '40.28707')')

你的(用变量修复):

ST_GeomFromText('POINT(" & txtLatBD.Text & " " & txtLngBD.Text & ")')

构造函数的参考:http://www.postgis.org/docs/ST_GeomFromText.html