【问题标题】:FoxPro ODBC's giving zero on numeric fields instead of nullFoxPro ODBC 在数字字段上给出零而不是 null
【发布时间】:2015-07-29 11:43:58
【问题描述】:

我正在开发一个 foxpro 到 mysql 的迁移工具,并使用 foxpro ODBC 驱动程序进行数据库连接和查询。我已经使用 ODBC 驱动程序成功执行了 select 语句。但它在数字字段中给了我零而不是 null。在我检查的 DBF 文件中,该列中没有数字数据类型的数据,但给了我零。

对此问题的任何建议及其解决方案将不胜感激。

谢谢 玛尼

【问题讨论】:

  • 向我们展示一些示例数据和用于获取值的代码
  • 可以自定义foxpro查询吗?
  • 数据库是哪个版本的 FoxPro。据我记得 NULL 仅在 FP3.0 中引入,在此之前字段留空 & 我相信 ADO/ODBC 驱动程序没有将其识别为 NULL & 返回字段类型的适当默认值 - 0 表示数字,false用于逻辑等。
  • @PaulF:哦,现在我明白了。 DBF 文件由 FoxPro 2.6 构建,我正在使用支持 Visual FoxPro 6 的最新 ODBC 驱动程序。您能否推荐一些与 FoxPro 2.6 兼容的数据访问工具/技术。我使用 ODBC 是因为我的时间非常有限。
  • 检查 VFP OLEDB 驱动程序可能是值得的 - 我认为这可以更好地将空白视为空值,尽管我需要从 FoxPro 表传输数据已有好几年了。

标签: java mysql odbc foxpro visual-foxpro


【解决方案1】:

请记住,数值可以存储为数字的字符表示形式或“真实”数字(整数或浮点数)。

在数据表中创建 Foxpro/Visual Foxpro 数据表字段后,它最初为空白(非 NULL) - 无论字段格式如何,但整数字段类型为 o。

我正在开发一个 foxpro to mysql 迁移工具,并使用 foxpro ODBC 驱动程序进行数据库连接和查询。我已经使用 ODBC 驱动程序成功执行了 select 语句

您没有说明您是否在 VFP 中编写代码,但如果是,则不需要使用 ODBC 来获取 VFP 数据。

帮助我们更好地了解您在做什么以及如何为您提供更好的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2019-10-09
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    相关资源
    最近更新 更多