使用 microsoft.jet.oledb.4.0 从 paradox db 过滤日期字段

Posted

技术标签:

【中文标题】使用 microsoft.jet.oledb.4.0 从 paradox db 过滤日期字段【英文标题】:filter dates fields from paradox db using microsoft.jet.oledb.4.0 【发布时间】:2011-09-21 22:17:30 【问题描述】:

您好,我正在尝试从悖论数据库表中过滤数据字段(来自在 delphi 上编程的信息系统)...

我用连接字符串成功建立了连接:

Provider =Microsoft.Jet.OLEDB.4.0; Data Source =c:\bddir; Extended Properties =Paradox 5.x;

我什至可以成功执行select * from mytable之类的查询

但是当我尝试执行以下查询时:

SELECT * FROM entries WHERE date = '2011-1-1' thru c# 带有 cxstr 的应用程序

上面.. 它说:Data type mismatch in criteria expression

任何解决方案?我尝试了StrToDateQuotedStr 之类的方法,但没有成功...

:(

【问题讨论】:

【参考方案1】:

试试

SELECT * FROM entries WHERE date = #1/1/11#

而不是

SELECT * FROM entries WHERE date = '2011-1-1'

看这里:MS-TechNet

【讨论】:

【参考方案2】:

终于明白了:

SELECT 
  * 
FROM 
  table 
WHERE 
  year(dateField) >= 2011 AND 
  month(dateField) >= 1 AND 
  day(dateField) >= 1 

希望对你有帮助!!

【讨论】:

10/10 可以确认这回答了我关于 Microsoft Access 和按日期选择的问题。

以上是关于使用 microsoft.jet.oledb.4.0 从 paradox db 过滤日期字段的主要内容,如果未能解决你的问题,请参考以下文章

将连接字符串从 Microsoft.Jet.OLEDB.4.0 转换为 Microsoft.ACE.OLEDB.12.0 提供程序

使用 microsoft.jet.oledb.4.0 从 paradox db 过滤日期字段

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

使用 Microsoft.Jet.OLEDB.4.0 从 C# 将行插入 Access db,自动编号列设置为零

Microsoft.Jet.OLEDB.4.0 “找不到提供程序。它可能没有正确安装。”错误