关于访问数据库中空白字段的犹豫

时间:2014-03-24 09:42:37

标签: java ms-access ms-access-2010

我试图从Microsoft Access获取* .accdb格式的数据库中的某些值。我正在编写一个Java程序,使用正确的jdbc驱动程序从Access数据库中获取值。

查询是这样的:

SELECT * FROM table_name

我能够检索到我需要的所有值,我对此没有任何问题。当我看到一些(显然,但我很确定它们是)文件上的空字段时,问题就出现了,并且被检索为" null"或""当我将结果转换为Java中的字符串时,TEXT数据类型列的(空字符串)。

我分析了数据库,寻找每列等的默认值。但是我没有发现检索null或""的逻辑原因。对于一个空单元格。根据办公室支持页面:

  

当字段不包含值时,它包含Null值,或表示Text,Memo或Hyperlink字段,Null值或零长度字符串

然后我看到两种类型都可以返回空字段,但我仍然无法理解标准

1 个答案:

答案 0 :(得分:1)

我发现在MSSQL数据库中,它取决于输入值的方式。

如果您有这样的表(假设als cols是String):

tbl1
----------------------
| col1 | col2 | col3 |
----------------------

现在您按这样插入数据:

INSERT INTO tbl1 (col1)
VALUES ('Test')

你可能会得到:

col1: Test
col2: Null
Col3: Null

但是,如果yoy插入这样的数据(例如,你不检查值是""在col2中)

INSERT INTO tbl1 (col1, col2, col3)
VALUES ('Test', '', '')

你会得到:

col1: Test
col2: ""
Col3: ""

这主要发生在不仅插入用户填写的数据而不是整个数据。