我从ASP.NET中的浏览器获取位置数据并尝试将其作为地理数据类型插入到SQL中,有没有办法在TSQL中将其转换为我可以将其作为NVarchar传递?
答案 0 :(得分:0)
从您的代码中传递Well-Know Text,(WKT),然后您可以在SQL Server中使用STGeomFromText
方法,如:
SELECT geometry::STGeomFromText('LINESTRING (100 100, 20 180, 180 180)', 0)
在C#中你可以这样做:
string WKTRepresentation = "LINESTRING (100 100, 20 180, 180 180)";
using (SqlConnection conn = new SqlConnection("connectionString"))
using (SqlCommand cmd = new SqlCommand("SELECT geometry::STGeomFromText(@WKT, 0)", conn))
{
conn.Open();
cmd.Parameters.Add(new SqlParameter("@WKT", SqlDbType.NVarChar) { Value = WKTRepresentation });
var reader = cmd.ExecuteReader();
}