Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что можно сделать с зарезервированным словом в запросе? [D6, dBase, FoxPro, Paradox]


DimonS ©   (2005-09-06 02:29:00) 

У меня в БД есть два поля - In и Date. при попытке выполнить команду:

...
Query1.SQL.Add('where In='+MaskEdit1.Text);
Query1.Open;

Выдается ошибка:
Invalid use in keyword. Token In=...

Тоже самое и с Date. Как тут быть? с TTable таких вопросов не возникало, а в справке что-то не нашел. Переименовать поле довольно проблематично будет.


alex_***   (2005-09-06 15:36:00) [1]

или в квадратных скобках -> [IN]


Desdechado   (2005-09-06 11:20:00) [2]

попробуй указывать алиасы таблиц, например
SELECT T.* FROM Tablica T
WHERE T."IN"=1 AND T."DATE">"12.12.2003"


Zacho   (2005-09-06 09:00:00) [3]

DimonS ©   (06.09.05 8:52) [13]
В смысле лучше в связи с целостностью данных?


Без разницы. Выборка не имеет никакого отношение к поддержке ссылочной целостности.

А что лучше по быстродействию/объёму памяти - зависит от задачи, так что сам смотри.


DimonS   (2005-09-06 08:52:00) [4]

Zacho

Спасибо, я себе в общем то так и представлял это, но все же что лучше, параматеризированный запрос или фильтрация? БД небольшие, 3-4 тыс. записей. В смысле лучше в связи с целостностью данных?


Zacho   (2005-09-06 08:49:00) [5]

DimonS ©   (06.09.05 8:15) [9]

Кстати, есть и другой способ. Использовать фильтрацию в detail-датасете.
Соответственно, менять условие фильтра надо в AfterScroll master-датасета.


Zacho   (2005-09-06 08:45:00) [6]

DimonS ©   (06.09.05 8:15) [9]

Ничего не надо самому переоткрывать. Всё гораздо проще.

См. в хелпе TQuery.DataSource Там и пример есть.
Так же посмотри раздел Establishing master/detail relationships using parameters


Ильш   (2005-09-06 08:32:00) [7]

тормозить не должно
все ж зависит от кол-ва записей, наличия индексов, причем правильно построенных


DimonS   (2005-09-06 08:15:00) [8]

To Ильш

Да, стандартные, Query. Смысл понял, спасибо. А тормозить сильно будет? И есть ли другой способ еще?


Anatoly Podgoretsky   (2005-09-06 07:47:00) [9]

DimonS ©   (06.09.05 06:45) [3]
Ну как хочешь, будешь всю жизнь мучатся.


Ильш   (2005-09-06 07:44:00) [10]


> Как соединить 2 таблицы один-ко-многим так, чтобы их можно
> было отображать в разных гридах в связанном виде?

а какие компоненты используешь? стандартные?
тогда делай второй запрос параметризированным и переоткрывай его при перемещении по первому


DimonS   (2005-09-06 07:39:00) [11]

to dmitry501
Конечно, пробовал. Ладно, похоже придется все-таки переименовывать.


dmitry501   (2005-09-06 07:34:00) [12]

Не уверен для dBase, FoxPro, Paradox, но возможно поможет заключение таких полей в квадратные скобки []


Ильш   (2005-09-06 07:30:00) [13]

дык нельзя не переименовывать


DimonS   (2005-09-06 06:45:00) [14]

Было бы просто, вопросов бы небыло. По ним вся программа настроена. Переписывать очень много.


Ильш   (2005-09-06 06:19:00) [15]


> Переименовать поле довольно проблематично будет

ПЕРЕИМЕНОВАТЬ АДНАЗНАЧНА !!!
И ЧТО ЗА ПРИВЫЧКА ЗА ТАКАЯ ИСПОЛЬЗОВАТЬ ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА ???


DimonS   (2005-09-06 04:33:00) [16]

И еще вопрос такого плана. Как соединить 2 таблицы один-ко-многим так, чтобы их можно было отображать в разных гридах в связанном виде? В TTable используется MasterSource, а в запросах как? В один то грид соединить их не проблема.


Наверх

Титульная страница Поиск, карта сайта Написать письмо