Sql Server2000转 access出现的问题

将程序使用的数据库由Sql Server2000转 access后很容易出现 标准表达式中数据类型不匹配(Access),在我的程序中,主要是由于在程序需要查询时间/日期型字段,而Sql Server2000 和access的处理不同造成的,直接上代码

我原来在使用Sql Server2000 是使用的查询代码

selectSomeNote("select * from tb_order_form where datetime between '" + date + " 00:00:00' and '" + date + " 23:59:59'");

 

在使用SQL Server2000时正常,

 

而将数据由SQL Server2000导入到 access后提示:标准表达式中数据类型不匹配(Access) 的问题

 

这是由于二者对于DateTime字段的处理不同造成的。

 

二、如何在ACCESS查询datetime类型字段的日期范围数据

如果字段是时间/日期型,你在进行类似这样的执行
select * from [card] where [datetime] <= '2006-09-20' and [datetime]>='2006-09-01'   (这条语句在Sql server 下OK)
在ACCESS中会报错,应该在日期型字段前面加上“#”即:
select * from [card] where [datetime] <= #2006-09-20# and [datetime]>=#2006-09-01#

所以需将其更改为

selectSomeNote("select * from tb_order_form where datetime between #" + date + " 00:00:00# and #"+ date +" 23:59:59#");

 

这样就可以查询到了,问题搞定。

你可能感兴趣的:(sql,Date,数据库,server,Access)