Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.035 c
14-1127678399
GanibalLector
2005-09-25 23:59
2005.10.16
автолюбителям посвящается


14-1127816829
Agent13
2005-09-27 14:27
2005.10.16
Кто пользуется сетью MSN Messenger через Миранду, отзовитесь


2-1126092416
Максим
2005-09-07 15:26
2005.10.16
Помогите


11-1089063773
murtix
2004-07-06 01:42
2005.10.16
KolSplitter


6-1119603331
chery
2005-06-24 12:55
2005.10.16
Какая доля пакета "тратится" на служебную инфу?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский