2009-04-03 10 views
2

Я использую драйвер Odbc с Paradox. У меня есть таблица с датой в ней. Я пытаюсь выполнить запрос по дате в этой колонке. Кажется, я не могу заставить предложение where работать. Я могу получить поиск записей по ints, но я не знаю, как использовать дату.Odbc Paradox Driver WHERE clause Date

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

Хорошо, я понял.

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

В odbc вы должны использовать {} для определения объекта, а d определяет формат даты.

Вы можете использовать следующее.

{d 'значение'} гггг-мм-дд

{т 'значение'} чч: мм: сс

{TS 'значение'} гггг-мм-дд чч: мм: сс

0

Ищите функции Date/Time в Paradox, которые преобразуют строку в дату. Очень сложно использовать String в качестве даты, как в вашем SQL. Должны быть некоторые функции, такие как TO_DATE или аналогичные, которые должным образом отформатируют его для вас.