【发布时间】:2013-04-07 08:20:54
【问题描述】:
我正在开发一个使用带有 PostGIS 扩展的 PostgreSQL 数据库的 GIS 应用程序。我已经为整个项目创建了数据访问逻辑,除了几何值插入之外一切正常。
我必须将几何值作为函数调用传递:
INSERT INTO mygeotable (id, name, geom) VALUES
(1, "MyName", ST_GeomFromText('POINT(755888.4156 112458.556)', 23700))
如您所见,我必须在 INSERT 上调用 ST_GeomFromText PostGIS 函数来获取 geom 列值。此geom 列是从 ADO.NET 视图中的字符串值,但不能在 INSERT 上设置为文本。
我认为 ADO.NET 会自动以这种方式格式化我的 INSERT 命令:
INSERT INTO mygeotable (id, name, geom) VALUES
(1, "MyName", "ST_GeomFromText('POINT(755888.4156 112458.556)', 23700)")
哪个是引号的错!
如何设置INSERT 命令的geom 参数以使用ST_GeomFromText 函数调用?
我对每一列都使用参数。 InsertCommand 命令文本是:
INSERT INTO mygeotable (id, name, geom) VALUES (id, name, geom)
geom 参数 DbType 是 String。函数调用没有 DbType!
【问题讨论】:
-
我对每一列都使用参数。 InsertCommand CommandText 是:INSERT INTO mygeotable (id, name, geom) VALUES (id, name, geom)。几何参数 DbType 是字符串。函数调用没有 DbType!
标签: c# postgresql ado.net postgis dataadapter