【发布时间】:2011-06-24 18:01:01
【问题描述】:
我正在尝试将要素数据 - 多边形插入 SQL 2008。ID-type:nvarchar, geom=>type:geometry
这是我的代码:
foreach (FeatureDataRow dsRow in ds.Tables[0])
{
string ID = (string)dsRow["Name"];
SharpMap.Geometries.Polygon geom = (SharpMap.Geometries.Polygon)dsRow.Geometry;
SqlConnection con = new SqlConnection(MapHelper.GetSQLConnectionString());
string cmdStr = "INSERT INTO table1 (ID, geom) VALUES (@ID, geometry::STGeomFromWKB(@geom))";
SqlCommand cmd = new SqlCommand(cmdStr, con);
//Store parameters with values to the collection
cmd.Parameters.AddWithValue("ID", ID);
cmd.Parameters.AddWithValue("geom", geom); //.DBType ???
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
我在 cmd.ExecuteQuery 上收到错误:不存在从对象类型 SharpMap.Geometries.Polygon 到已知托管提供程序本机类型的映射
我不知道为 geom 参数为 .DBTYPE 设置什么。
【问题讨论】: