首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取DBF文件的字段类型

问获取DBF文件的字段类型
EN

Stack Overflow用户
提问于 2015-11-18 07:31:10
回答 1查看 581关注 0票数 0

我正在读取DBF文件的字段类型。我也正在创建DBF文件。我正在使用oledb读取器获取文件类型。阅读器总是返回十进制类型的天气我设置数字,浮动或双。为什么会这样呢?为什么读取器不返回存储在DBF中的相同类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-29 08:10:01

不同的提供程序可以将DBF的物理字段类型映射到不同的OLEDB字段类型。

另一个问题是,如果选择表达式(select amt * 0.01 from foo)而不是裸字段,并且不显式(select cast(amt * 0.01 as currency) from foo)将结果强制转换为某种类型(select cast(amt * 0.01 as currency) from foo),则SQL结果类型会引发猜测。同样,在这种情况下,不同的提供者/引擎可能会给出不同的结果;有些--比如VFP9提供者--允许显式转换,而有些则不允许显式转换。

如果您切换到不同的提供商,您可能会得到更好的结果。例如,Fox字段类型'I‘(整数)、'B’(双)、'Y‘(货币)和'N’(数字)忠实地映射到相应的OLEDB/ADO字段类型 adInteger、adDouble、adCurrency和adNumeric。另一方面,Fox提供程序只理解与Clipper和dBASE 3或A上下对应的Fox字段类型和遗留DBF类型。它不能读取更新的dBASE版本生成的表。

一些免费可用的OLEDB提供程序能够理解一些DBF方言或其他方言;哪一种最适合,取决于DBF文件的类型。

DBF文件结构相当简单;根据应用程序的不同,直接从DBF头中的字段定义中提取元数据可能是有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33774148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档