Главная страница
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.059 c
1-1127756905
Mameluke
2005-09-26 21:48
2005.10.16
Преобразование указателя в строку


14-1127601152
Леха
2005-09-25 02:32
2005.10.16
VCL


1-1127735165
DelphiLexx
2005-09-26 15:46
2005.10.16
Растягивание TPanel через ScrollBar


2-1125789112
Пантелеев Иван
2005-09-04 03:11
2005.10.16
Подсчёт выбраных записей


4-1124002284
GreySkil
2005-08-14 10:51
2005.10.16
Права доступа