Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在MS Access中的日期/时间字段中插入null-_Java_Ms Access_Ms Access 2007 - Fatal编程技术网

Java 在MS Access中的日期/时间字段中插入null-

Java 在MS Access中的日期/时间字段中插入null-,java,ms-access,ms-access-2007,Java,Ms Access,Ms Access 2007,我一直试图在MS Access中的Date/Time列中插入null值,但我不断收到此错误 下面是我如何设置空值的变体 String processedDate = ""; // doesn't work String processedDate = null; // doesn't work 我在SQL插入过程中遇到的错误 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch i

我一直试图在MS Access中的
Date/Time
列中插入
null
值,但我不断收到此错误

下面是我如何设置空值的变体

String processedDate = ""; // doesn't work
String processedDate = null; // doesn't work
我在SQL插入过程中遇到的错误

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression
我的insert查询是用Java编写的

INSERT INTO DonorDetails ([SIGNUP DATE],Remarks, [Date Processed])values ('25/03/2014','','')

当我知道值为null时,是否必须显式构造不带[Processed Date]列的SQL语句?或者有更简单的方法吗?

在SQL中,
null
值必须由关键字
null
表示

INSERT INTO DonorDetails
([SIGNUP DATE], Remarks, [Date Processed])
VALUES (#2014/03/25#, NULL, NULL)
String processedDate=“NULL”;

在SQL中,
null
值必须由关键字
null
表示

INSERT INTO DonorDetails
([SIGNUP DATE], Remarks, [Date Processed])
VALUES (#2014/03/25#, NULL, NULL)
String processedDate=“NULL”;

在SQL中,
null
值必须由关键字
null
表示

INSERT INTO DonorDetails
([SIGNUP DATE], Remarks, [Date Processed])
VALUES (#2014/03/25#, NULL, NULL)
String processedDate=“NULL”;

在SQL中,
null
值必须由关键字
null
表示

INSERT INTO DonorDetails
([SIGNUP DATE], Remarks, [Date Processed])
VALUES (#2014/03/25#, NULL, NULL)
String processedDate=“NULL”;

不太清楚您是如何构造查询的,但一个好习惯是创建一个准备好的语句,如下所示:

PreparedStatement ps = connection.prepareStatement("INSERT INTO DonorDetails (signup_date, remarks, date_processed) values (?,?,?)");
ps.setTimestamp(1, someTimestamp);
ps.setString(2, someRemark);
ps.setNull(3, Types.TIMESTAMP);
这不会太依赖于所使用的数据库和驱动程序,还可以解决诸如插入null之类的问题(请参见最后一行)


另外,我不知道插入的括号(
[]
)是什么意思,所以我只是猜测了列名

不太清楚您是如何构造查询的,但一个好习惯是创建这样一个准备好的语句:

PreparedStatement ps = connection.prepareStatement("INSERT INTO DonorDetails (signup_date, remarks, date_processed) values (?,?,?)");
ps.setTimestamp(1, someTimestamp);
ps.setString(2, someRemark);
ps.setNull(3, Types.TIMESTAMP);
这不会太依赖于所使用的数据库和驱动程序,还可以解决诸如插入null之类的问题(请参见最后一行)


另外,我不知道插入的括号(
[]
)是什么意思,所以我只是猜测了列名

不太清楚您是如何构造查询的,但一个好习惯是创建这样一个准备好的语句:

PreparedStatement ps = connection.prepareStatement("INSERT INTO DonorDetails (signup_date, remarks, date_processed) values (?,?,?)");
ps.setTimestamp(1, someTimestamp);
ps.setString(2, someRemark);
ps.setNull(3, Types.TIMESTAMP);
这不会太依赖于所使用的数据库和驱动程序,还可以解决诸如插入null之类的问题(请参见最后一行)


另外,我不知道插入的括号(
[]
)是什么意思,所以我只是猜测了列名

不太清楚您是如何构造查询的,但一个好习惯是创建这样一个准备好的语句:

PreparedStatement ps = connection.prepareStatement("INSERT INTO DonorDetails (signup_date, remarks, date_processed) values (?,?,?)");
ps.setTimestamp(1, someTimestamp);
ps.setString(2, someRemark);
ps.setNull(3, Types.TIMESTAMP);
这不会太依赖于所使用的数据库和驱动程序,还可以解决诸如插入null之类的问题(请参见最后一行)



另外,我不知道括号(
[]
)在您的插入中是什么意思,所以我只是猜测了列名

我的查询是用JavaNo编写的,您的查询是用SQL编写的。
INSERT
语句显然是SQL语句。您正在使用Java来构造查询的文本并将其发送到DB。我使用了您的方法,打印输出更改为
'NULL'
,而不是
NULL
。我仍然收到相同的错误。
if(text==null)insertion=“null”else insertion=“”“+text+””
。但是我建议使用命令参数而不是字符串连接。这些将自动为您处理所有这些细节,包括非常复杂的日期格式。我的查询是用JavaNo编写的,您的查询是用SQL编写的。
INSERT
语句显然是SQL语句。您正在使用Java来构造查询的文本并将其发送到DB。我使用了您的方法,打印输出更改为
'NULL'
,而不是
NULL
。我仍然收到相同的错误。
if(text==null)insertion=“null”else insertion=“”“+text+””
。但是我建议使用命令参数而不是字符串连接。这些将自动为您处理所有这些细节,包括非常复杂的日期格式。我的查询是用JavaNo编写的,您的查询是用SQL编写的。
INSERT
语句显然是SQL语句。您正在使用Java来构造查询的文本并将其发送到DB。我使用了您的方法,打印输出更改为
'NULL'
,而不是
NULL
。我仍然收到相同的错误。
if(text==null)insertion=“null”else insertion=“”“+text+””
。但是我建议使用命令参数而不是字符串连接。这些将自动为您处理所有这些细节,包括非常复杂的日期格式。我的查询是用JavaNo编写的,您的查询是用SQL编写的。
INSERT
语句显然是SQL语句。您正在使用Java来构造查询的文本并将其发送到DB。我使用了您的方法,打印输出更改为
'NULL'
,而不是
NULL
。我仍然收到相同的错误。
if(text==null)insertion=“null”else insertion=“”“+text+””
。但是我建议使用命令参数而不是字符串连接。这些将自动为您处理所有这些细节,包括非常棘手的日期格式。您如何为语句赋值?您的java代码与您发布的SQL无关。您如何为语句赋值?您的java代码与您发布的SQL无关。您如何为语句赋值?您的java代码与您发布的SQL无关。您如何为语句赋值?您的java代码与您发布的SQL无关。我想我将不得不使用准备好的语句。顺便说一下,括号用于定义包含空格的表列。如果您也在设计表,请记住,不鼓励创建包含空格的列。最好用下划线。我想我得用事先准备好的语句。顺便说一下,括号用于定义包含空格的表列。如果您也在设计表,请记住,不鼓励创建包含空格的列。最好用下划线。我想我得用事先准备好的语句。另外,括号用于定义包含空格的表列