【发布时间】:2014-03-24 09:42:37
【问题描述】:
我正在尝试从 Microsoft Access 的 *.accdb 格式的数据库中获取一些值。我正在编写一个 Java 程序,它使用正确的 jdbc 驱动程序从 Access 数据库中获取值。
查询是这样的:
SELECT * FROM table_name
我能够检索我需要的所有值,对此我没有任何问题。当我看到文件上的一些(显然,但我很确定它们是)空字段,当我将结果转换为字符串时,将 TEXT 数据类型列检索为“null”或“”(空字符串)时,问题就出现了在 Java 中。
我分析了数据库以查找每列的默认值等。但我发现没有逻辑理由为空单元格检索 null 或“”。根据办公室支持页面:
当字段不包含值时,它包含 Null 值,或者,对于文本、备注或超链接字段,包含 Null 值或零长度字符串。
然后我看到这两种类型都可以返回空字段,但我仍然无法理解条件。
【问题讨论】:
-
一般来说,我会在我的 SELECT 和 MSSQL 服务器中写入每一列,如果 db 条目是使用例如
Insert Into 'table' (1) Values ( "") -
所以我猜当我从一个空白字段中得到一个 null 或 en 空字符串时,是因为它取决于人如何输入值?
-
不完全...这取决于写入数据库的软件是如何设计的。如果它检查值是否为 "" 并且不将
Null更改为 "" 您将得到Null。 -
好的,所以你的答案是,取决于软件写入数据库的工作方式以及它如何处理和写入空值,然后将返回一种或另一种类型。可以吗?
-
是的......我写了一篇关于如何模拟它的帖子。 (在 MSSQL 中为我工作)
标签: java ms-access ms-access-2010