问题在2日期之间获取日期(vb.net | OLE)

时间:2009-11-16 07:03:21

标签: vb.net ms-access oledb

我有一个数据库(.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对象连接到数据库

出了什么问题,我该怎么做?

2 个答案:

答案 0 :(得分:0)

使用Access时,通常需要使用#包围日期/时间类型,如此

#22/01/2009#

答案 1 :(得分:0)

而不是使用动态SQL,而是使用Access数据库引擎的CREATE PROCEDURE SQL DDL语法来创建一个持久化对象,其参数的参数强类型为DATETIMENULL值为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}}