C#SQL几何错误:数据类型的运算符无效。运算符等于,类型等于几何

时间:2015-06-03 09:09:34

标签: c# asp.net sql-server geospatial

使用C#和LOCAL SQL SERVER 进行SQL调用:

string cmd2 = "SELECT Circle_ID FROM Circle WHERE Center_Point = geometry::STGeomFromText('POINT(";
        cmd2 += center_lat;
        cmd2 += " ";
        cmd2 += center_lng;
        cmd2 += ")',0)";

我收到错误:

  

数据类型的运算符无效。运算符等于,键入等于几何。错误号码:403,状态:1,等级:16

语法我认为引用#Ref1#Ref2是正确的。

注意:我理解我将要做的参数化sql查询。但首先我只想让sql工作。 感谢

1 个答案:

答案 0 :(得分:2)

数据类型允许某些操作,而不是标准操作。

我找到的解决方案是:

 string cmd2 = "SELECT Circle_ID FROM Circle WHERE Center_Point.STEquals(geometry::STGeomFromText('POINT(";
        cmd2 += center_lat;
        cmd2 += " ";
        cmd2 += center_lng;
        cmd2 += ")',0)) = 1;"; // 1 = TRUE

This帖子帮助了我。

希望将来能帮助其他人。