c# - SQL Server 2012 几何 - 使用 SqlDataAdapter 加载模式

标签 c# sql sql-server

我正在创建:

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/

相关文章:

c# - 单例类可以是静态的吗?

c# - Entity Framework Core 3.1 中的 LINQ group by

c# - 带有资源文件的居中 DataGridTextColumn 标题中的换行符

php - 如何使用PHP和SQL删除行

mysql - 简单的SQL查询问题

java - SQL Server 和其他的 Hibernate 生成类型

c# 用具有基类型的字典覆盖方法

mysql - 如何控制MySQL排序中的nulls-first或nulls-last?

php - 需要帮助将我的 App Engine PHP 与我的 Google Cloud SQL 数据库连接起来

c# - 如果进程意外终止,作为 SqlTransaction 或 TransactionScope 基础的事务是否会回滚?