【问题标题】:Accessing a geometry type database field from Delphi? [closed]从 Delphi 访问几何类型数据库字段? [关闭]
【发布时间】:2011-08-30 09:54:58
【问题描述】:

我在使用 PosGis 模块的 POSTGRESql 数据库下,我需要从 Delphi 应用程序中访问一个数据库字段,该字段是 GEOMETRY 类型的字段。 通过使用 FieldByName('...').AsString,它会给我带来一个错误。

有没有办法从 SQL 或 Delphi 中获取文本/字符串格式的数据?

谢谢 格温内尔

【问题讨论】:

  • 我们无法猜测错误。我们并不都熟悉这个特定的数据库模式。请告诉我们更多信息!
  • 我得到一个“找不到字段”。我的查询是正确的,所以我不知道该怎么办
  • 我也不知道该怎么办,因为您的问题太模糊,几乎没有任何信息可以让您获得帮助。对不起。
  • 您使用的是什么数据库提供程序(TADOConnection、PGDAC 等...)?确切的错误文本和异常类型是什么?
  • 如果你使用fieldbyname,如果字段实际上有一个名字,如果它是一个表达式,你需要给它一个别名,比如SELECT espression(x) AS x2,那么你可以使用fieldbyname('x2')

标签: delphi postgresql geometry


【解决方案1】:

您可以使用 PostgreSQL 数据类型转换 - SELECT ... <expression>::text ...

【讨论】:

  • 正确答案是 ST_AsText() 函数。谢谢大家
【解决方案2】:

AFAIK 没有可以匹配的 Delphi 字段类型,这取决于用于访问它的中间件/驱动程序以将其转换为另一种数据类型,或者提供一个 ad-hoc 类来实现特定的字段行为。我猜 Delphi 标准没有 - 寻找有的人,或者您可能必须直接访问 Postgres 客户端 API。

【讨论】:

    猜你喜欢
    • 2015-12-07
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多