2

我正在使用带有 Paradox 的 Odbc 驱动程序。我有一张桌子,里面有日期。我正在尝试按该列中的日期进行查询。我似乎无法让 where 子句起作用。我可以通过整数搜索记录,但我不知道如何使用日期时间。

OdbcCommand comm= new OdbcCommand("SELECT * FROM  [Journal]  WHERE" + 
                                  "[Date] = 04/02/2009 ",
                                  new OdbcConnection(@"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=d:\\ics\\tables\\HISTORY;Dbq=d:\\ics\\tables\\HISTORY;CollatingSequence=ASCII"));

OdbcDataAdapter adapt = new OdbcDataAdapter(comm);
DataTable table = new DataTable();
adapt.Fill(table );
4

2 回答 2

4

好的,我想通了。

...where   [Date] = {d 'yyyy-MM-dd'} AND...

在 odbc 中,您必须使用 {} 来定义对象,而 d 定义日期的格式。

您可以使用以下内容。

{d'值'} yyyy-mm-dd

{t '值'} hh:mm:ss

{ts '值'} yyyy-mm-dd hh:mm:ss

于 2009-04-03T15:00:06.620 回答
0

在 Paradox 中查找将字符串转换为日期的日期/时间函数。像在 SQL 中一样使用字符串作为日期是非常棘手的。必须有一些函数,如 TO_DATE 或类似的函数,可以为您正确格式化它。

于 2009-04-03T14:33:15.873 回答