我有一个数据库(.mdb),它有一个日期(dd / mm / yy)的列,有些给我一个代码来获取2个日期之间数据库中的所有日期,代码是:
Select * from table where date between 'StartDate' and 'EndDate'
但在我使用代码后,发生错误告诉我数据类型不一样
System.Data.OleDb.OleDbException was
unhandled ErrorCode=-2147217913
Message="عدم تطابق نوع البيانات في
تعبير المعايير." Source="Microsoft
JET Database Engine"
虽然我将数据库中日期列中的数据类型转换为(Date \ time),并使用OLE对象连接到数据库
出了什么问题,我该怎么做?
答案 0 :(得分:0)
使用Access时,通常需要使用#包围日期/时间类型,如此
#22/01/2009#
答案 1 :(得分:0)
而不是使用动态SQL,而是使用Access数据库引擎的CREATE PROCEDURE
SQL DDL语法来创建一个持久化对象,其参数的参数强类型为DATETIME
,NULL
值为NULL
默认。处理DATETIME
值以使用CREATE PROCEDURE GetStuff
(
arg_start_date DATETIME = NULL,
arg_end_date DATETIME = NULL
)
AS
SELECT lastvstart
FROM tb
WHERE lastvstart
BETWEEN IIF(arg_start_date IS NULL, lastvstart, arg_start_date)
AND IIF(arg_end_date IS NULL, lastvstart, arg_end_date);
列的值,例如
{{1}}