我有一个 DBF 文件,我正在尝试从 c# 代码中读取它。我可以在不应用任何条件或为 varchar 类型字段应用条件的情况下成功读取文件。我的问题是我必须从日期字段(类型:日期)中过滤记录。我尝试了以下方法,
SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between 2/16/2006 12:00:00 AM and 2/20/2006 12:00:00 AM
上面给出了一个语法错误:缺少运算符
SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between '2/16/2006 12:00:00 AM' and '2/20/2006 12:00:00 AM'
上面给出了数据类型不匹配错误
SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between 2/16/2006 and 2/20/2006
上面不会抛出任何异常,但不会返回任何记录,尽管有匹配的记录。
where 子句也会发生同样的事情。我可以做些什么来过滤范围内的记录
我正在使用以下代码来阅读它
OdbcCommand cmd = new OdbcCommand();
OdbcDataAdapter da = new OdbcDataAdapter();
DataTable dt = new DataTable();
using (OdbcConnection connection = new OdbcConnection(connstring))
{
connection.Open();
cmd = new OdbcCommand(@"SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between 2/16/2006 12:00:00 AM and 2/20/2006 12:00:00 AM", connection);
cmd.CommandType = CommandType.Text;
da.SelectCommand = cmd;
da.Fill(dt);
}