我正在开发一个使用 PostgreSQL 数据库和 PostGIS 扩展的 GIS 应用程序。我已经为整个项目创建了数据访问逻辑,除了几何值插入之外一切正常。
我必须将几何值作为函数调用传递:
INSERT INTO mygeotable (id, name, geom) VALUES
(1, "MyName", ST_GeomFromText('POINT(755888.4156 112458.556)', 23700))
如您所见,我必须为列值调用ST_GeomFromText PostGIS 函数。此列是 ADO.NET 视图中的字符串值,但不能将其设置为.INSERT
geom
geom
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 CommandText 是:
INSERT INTO mygeotable (id, name, geom) VALUES (id, name, geom)
几何参数 DbType 是字符串。函数调用没有 DbType!