在MSSQL中将nvarchar转换为地理数据类型
本文关键字:数据类型 转换 MSSQL 中将 nvarchar | 更新日期: 2023-09-27 18:22:01
我正在ASP.NET中从浏览器中获取位置数据,并试图将其作为地理数据类型插入SQL中,有没有办法在TSQL中转换它,这样我就可以将其作为NVarchar传递?
从代码中传递一个众所周知的文本(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();
}