我将 DELPHI 与 ADO 和 SQL Server 2014 一起使用。
在我们的数据库表中,有一个用于几何数据的空间列。我们可以在该字段中读取和写入数据(更多信息如下:https://learn.microsoft.com/de-de/sql/relational-databases/spatial/spatial-data-sql-server https://learn.microsoft.com/de-de/sql/relational-databases/spatial/spatial-data-sql-server).
如果我使用 TDBGRID 组件显示此表,则表中此列的内容仅显示 (BLOB)。
现在我想看看这个专栏的内容。是否有任何好的编码来显示此列的内容,例如在 dbmemo 中作为文本。
我知道的唯一解决方案是将字段作为文本读取到字符串中并将其放入普通备忘录中,我期待获得更有效的方法来访问此数据
您可以查询例如为了知名文字 https://en.wikipedia.org/wiki/Well-known_text使用 SQL 函数格式化,例如STAsText https://learn.microsoft.com/en-us/sql/t-sql/spatial-geometry/stastext-geometry-data-type:
SELECT MyColumn.STAsText() FROM MyTable
另一种选择是获取您的数据著名的二进制 https://en.wikipedia.org/wiki/Well-known_text#Well-known_binary数据流,在客户端将其解析为自己表示为文本(格式已描述)。为了获取这样的流,你可以使用STA二进制 https://learn.microsoft.com/en-us/sql/t-sql/spatial-geometry/stasbinary-geometry-data-type功能:
SELECT MyColumn.STAsBinary() FROM MyTable
另一种选择是获取原始数据geometry https://learn.microsoft.com/en-us/sql/t-sql/spatial-geometry/spatial-types-geometry-transact-sql数据存储在数据库中(就像您现在所做的那样)并自行解析。格式描述在[MS-SSCLRT] https://msdn.microsoft.com/en-us/library/ee320529.aspx文档。但如果我是你,我会更好地为 WKB 格式编写解析器并以 WKB 格式获取数据,因为它是相当成熟的通用格式,而 SQL Server 内部格式可能会经常更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)