C# C SQL几何体错误:数据类型的运算符无效。运算符等于,类型等于几何体
使用C和本地sqlserver 正在进行SQL调用,该调用是:C# C SQL几何体错误:数据类型的运算符无效。运算符等于,类型等于几何体,c#,asp.net,sql-server,geospatial,C#,Asp.net,Sql Server,Geospatial,使用C和本地sqlserver 正在进行SQL调用,该调用是: string cmd2 = "SELECT Circle_ID FROM Circle WHERE Center_Point = geometry::STGeomFromText('POINT("; cmd2 += center_lat; cmd2 += " "; cmd2 += center_lng; cmd2 += ")',0)"; 我收到了错误信息: 数据类型的
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
我认为语法是正确的引用和
注意:我了解我将要进行的参数化sql查询。但首先我只想让sql正常工作。
谢谢数据类型允许某些操作,但不是标准的 我找到的解决办法是:
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
波斯特帮了我的忙
希望这对以后的其他人有所帮助。您是否尝试了“而不是字符串cmd2=从圆心处选择圆\u ID=几何体::stgeomefromtext'Point';cmd2+=中心纬度;cmd2+='';cmd2+=液化天然气中心;cmd2+=,0;我有一个语法错误,在'44.59047'附近有一个不正确的语法,这是中心值。我已经以与问题中相同的方式格式化了其他字符串,以便将数据插入sql db。是center_lat,center_lng是number?然后您应该转换它