我正在创建:
public DataTable CreateEmptyTableGeometryPoint(int srid)
{
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(
string.Format("SELECT * FROM Geometry_Point_SRID_{0}",srid),
connection);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
adapter.FillSchema(dt, SchemaType.Source);
return dt;
}
现在,我尝试了:
DataTable dtGeometry = dal.CreateEmptyTableGeometryPoint(srid);
DataRow rowGeometry = dtGeometry.NewRow();
rowGeometry["Geometry"] = SqlGeometry.Point(100.0, 300.0, srid);
我得到一个ArgumentException
。
为什么我会得到这个异常?有人可以帮助我吗?
最佳答案
在 DataRow rowGeometry = dtGeometry.NewRow()
之后添加一个断点并检查您的架构。
仔细检查“几何”列的数据类型。可能没有填写正确。
foreach(DataColumn column in rowGeometry.table.Columns)
{
Console.WriteLine(column.DataType);
}
关于c# - SQL Server 2012 几何 - 使用 SqlDataAdapter 加载模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776833/