Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Что можно сделать с зарезервированным словом в запросе?   Найти похожие ветки 

 
DimonS ©   (2005-09-06 02:29) [0]

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

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

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

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


 
DimonS ©   (2005-09-06 04:33) [1]

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


 
Ильш ©   (2005-09-06 06:19) [2]


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

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


 
DimonS ©   (2005-09-06 06:45) [3]

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


 
Ильш ©   (2005-09-06 07:30) [4]

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


 
dmitry501 ©   (2005-09-06 07:34) [5]

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


 
DimonS ©   (2005-09-06 07:39) [6]

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


 
Ильш ©   (2005-09-06 07:44) [7]


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

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


 
Anatoly Podgoretsky ©   (2005-09-06 07:47) [8]

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


 
DimonS ©   (2005-09-06 08:15) [9]

To Ильш

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


 
Ильш ©   (2005-09-06 08:32) [10]

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


 
Zacho ©   (2005-09-06 08:45) [11]

DimonS ©   (06.09.05 8:15) [9]

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

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


 
Zacho ©   (2005-09-06 08:49) [12]

DimonS ©   (06.09.05 8:15) [9]

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


 
DimonS ©   (2005-09-06 08:52) [13]

Zacho

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


 
Zacho ©   (2005-09-06 09:00) [14]

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


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

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


 
Desdechado ©   (2005-09-06 11:20) [15]

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.044 c
14-1127633600
Kolan
2005-09-25 11:33
2005.10.16
Употребление пива в общественных местах(Россия).


14-1127640584
Starcom
2005-09-25 13:29
2005.10.16
Как адаптировать PS/2 мышку с COM портом PC?


2-1126158331
worldmen
2005-09-08 09:45
2005.10.16
FastReport. Delphi 7. Передача переменных.


2-1125684801
Anton S.
2005-09-02 22:13
2005.10.16
простой вопрос по API


2-1125825065
TG
2005-09-04 13:11
2005.10.16
Устоновка компонента