iAlexander |
Отправлено: 21.08.2003, 17:21 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
Проблема в том, что некая программа использует БД (какая-то dbf , FoxBase) с полем с именем DATE. Моя программа должна общаться с этой БД — анализировать ее. Но я не могу составить SQL запрос, т.к. при попытке его Open() выскакивает EDBEngineError с "Invalid use of keyword. Token: Date)"
запрос:
CODE |
AnsiString QueryStr ="SELECT EXTENSION, PRICE, IDURATION FROM Calls WHERE Calls.EXTENSION = '" + Phone + "' ";
QueryStr += " AND ((Calls.Date) >= '" + Date1 + "') AND ((Calls.Date) <= '" + Date2 + "')";
|
В рез-те:
CODE |
SELECT EXTENSION, PRICE, IDURATION FROM Calls WHERE Calls.EXTENSION =15 AND ((Calls.Date) >= '10.10.00') AND ((Calls.Date) <= '10.10.03')
|
Может, можно как-то заэкранировать этот Date или обойти? |
|
pasha |
Отправлено: 21.08.2003, 19:37 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
Можете вот так: (указав явно таблицу или её синоним и поле в ' ' )
CODE |
Select * from myTable mT
where mT.'Date' >= '01.01.2003'
|
----
Старайтесь не создавать полей с зарезервированнными словами
например не Date, а WDate и т.д.
|
|
iAlexander |
Отправлено: 22.08.2003, 12:31 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 70
|
CODE |
Select * from myTable
where myTable.'Date' >= '01.01.2003'
|
Это работает.
Большое спасибо. |
|