- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 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);
}
最佳答案
BETWEEN 的 dbase/Foxpro 语法(并且适用于任何相同的数据类型)是
BETWEEN( SomeValue, MinRange, MaxRange )
所以你的查询可以像这样完成
where between( [RDATE], ctod( '02/16/2006' ), ctod( '02/20/2006' ))
在旧的 DBase 和 VFP forward 中,CTOD() 代表字符到日期的转换,并期望采用类似 mm/dd/yyyy 的格式。通过仅执行“日期”部分,它始终表示 12:00:00 AM。
此外,您可以使用可用的 DATE() 函数,例如date( yyyy, mm, dd ) as Date( 2006, 02, 16 ) 也将返回此特定日期。
如果你想要一个特定的时间,你可以使用 CTOT() 代表 Character TO dateTime 字段,例如
CTOT( "2012-09-20T15:16:21" ) = Sep 20, 2012 @ 3:16:21pm
关于c# - 如何在 where 和 between 子句中查询 DBF(dbase) 文件日期类型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12506295/
我想将我的表导出为 DBF 格式,所以我想知道是否可以将多个表导出到一个 DBF 文件中。据我所知,一个 DBF 文件可以包含在表中。 最佳答案 一个dbf 文件包含一个表。同样,一个备忘录文件包含一
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
关于 .DBF 文件的第一个字节以及如何检测使用的 xbase 版本(即文件其余部分的格式),我能编译的最全面的列表是: 字节 0 ------------ x xxx x 001 = 0x?1 未使
我的目录中有很多文件,例如 ['FredrikstadAvst1.dbf', 'FredrikstadAvst2.dbf', ...]。我想编写一个 Python 脚本将这些文件连接到一个新的 "*.
首先,dbf 模块很棒。我一直在使用它并取得了巨大的成功。 我正在尝试在网络共享上打开一个 dbf 文件,它是一个只读文件系统。当我尝试像这样打开它时,我收到一条错误消息,指出 .dbf 文件是只读的
我被赋予了一项模棱两可的任务,即从各种 Visual FoxPro 表格中自动提取数据。 有几对.DBF 和.CDX 文件。使用 Python dbf包,我似乎可以和他们一起工作。我有两个文件,ABC
在Delphi for Win32中,如何在没有BDE的情况下以 native 方式读写dbf文件?我知道网络上有一些可用的组件,但我从未使用过其中任何一个,所以我不知道该选择哪个(如果有的话)。 最
我试图使用 jdbc 在 dbf 表上进行插入,但每次执行系统时都会出现此错误: Exception in thread "main" java.sql.SQLException: [Microsof
同事(真的!)试图在主 prod DG 实例上创建 dbf。这有效(虽然文件随后被删除),但 db_file_convert 没有设置文件位置辅助,因此创建失败并且在 $OH/dbs 中创建“丢失”d
我已经尝试了两个模块来读取工作正常的 dbf 文件(dbf 和 dbfpy),但我必须逐条记录地读取数据库以查找内容。这对于大型数据库来说真的很慢。是否有任何模块可以处理查询表或使用 CDX 索引?
我正在将 dbf 文件批量导入到 sqlite。我使用 dbf 模块在 python 中编写了一个简单的脚本 http://dbfpy.sourceforge.net/ 。除了少数情况外,它工作正常并
我知道 .dbf 数据库在单独的 .dbt 文件中保存大于 254 个字符的(文本)字段,将它们与 M 备注字段链接。 我有一个遗留数据库,我可以清楚地看到它包含一个规定(最大)长度为 255 个字符
我想自动检测DBF的编码,但是DBF文件的结构不包含DBF文件头中的任何信息。我曾经使用 DBF 查看器,它以正确的编码信息打开。所以我不确定他们是如何实现的。 我研究了 DBF 文件的结构并且有一个
我从 DBF 文件中获取数据并将其放入数据表中,问题是我只想获取不同的数据,例如: Column1 a b c b a DataTable 应该只填充: Column1 a
我从 DBF 文件中获取数据并将其放入数据表中,问题是我只想获取不同的数据,例如: Column1 a b c b a DataTable 应该只填充: Column1 a
今天早上我到达办公室时,我们的 Oracle 10.2 服务器磁盘空间不足。仔细检查后,我发现每分钟生成一次大约 1 到 4 个或更多 .dbf 文件(例如 1_1278092_658232789.d
我使用dbf 0.95.004 ,我需要从表中选择一个字段。 Example , docs import dbf table = dbf.Table('my.dbf').open() records
代码: #!/usr/bin/python db = dbf.Dbf("MEST2.DBF") #LINE TO UPDATE: rec = db[0] #PROEST IS A field of m
我现在使用 ESRI shapefile 格式,但在更改/编辑数据库字段大小时遇到了一些问题。我创建了一个 200 长度/大小的字段,现在我希望它只有 80 长度/大小(空间和其他改进)。 但是我
我有这样的事情: from dbfpy import dbf import random db = dbf.Dbf('DMWWGS84/DMAWGS84.dbf',new=False) db.addF
我是一名优秀的程序员,十分优秀!