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

Вниз

Вопрос по TQuery   Найти похожие ветки 

 
Nikkkkk   (2003-08-20 11:03) [0]

!!!Уважаемые мастера!!!
Я делая выборку запросом типа:
ttnakl_que.SQL.Clear;
ttnakl_que.SQL.Add("select ttnakl."nomrec",ttnakl."pr",ttnakl."real1",ttnakl."real2" from ttnakl");
ttnakl_que.SQL.Add("where ttnakl."datotg">="01."+form1.find_month+"."+form1.find_year+"" and ttnakl."datotg"<=""+form1.max_month_data+"."+form1.find_month+"."+form 1.find_year+"" and ttnakl."gurn"="1"");
ttnakl_que.SQL.Add("order by ttnakl."nomrec"");

Отрабатывается запрос отлично.
Но после выполнения запроса. мне необходимо удалить некоторые записи из самих результатов, как это сделать ???
Заранее спасибо.


 
DenK_vrtz ©   (2003-08-20 11:10) [1]

1.Поставить условие в where
2.Установить фильтр


 
Nikkkkk   (2003-08-20 11:18) [2]

Наверное я не совсем полностью описал ситуацию.
Запрос я уже сделал. Выборка данных прошла успешно. Теперь мне необходимо отредактировать результат выборки, который находится в DBgrid1. Могу ли я минуя создание нового запроса, поудалять записи, в которых к примеру, признак =12. Но удалить только из результатов, выводимых в DBgrid. Повторяю, не создавая новый запрос ???


 
DenK_vrtz ©   (2003-08-20 11:23) [3]

Nikkkkk (20.08.03 11:18), см. [1] пункт 2


 
Nikkkkk   (2003-08-20 11:26) [4]

Условий может быть очень много, более 100, в фильтр все это не поместится, нет ли другого способа (признак=12 я написал для примера). Если напимер необходимо исключить записи с определенными номерами...


 
DenK_vrtz ©   (2003-08-20 11:33) [5]

>>Условий может быть очень много, более 100, в фильтр все это не поместится

1.На каком этапе формируются условия?
2.Причины формированя условий? (действие пользователей, климатические условия, день недели...)


 
Nikkkkk   (2003-08-20 11:36) [6]

условия формируются после отработки запроса в TQery, по результатам последующего запроса из другой таблицы другого TQuery.


 
Vlad ©   (2003-08-20 11:42) [7]

Поставь TQuery CachedUpdates=true, затем пробеги по всему датасету, сделай if <условие> then DataSet.Delete.
Только в конце НЕ делай DataSet"у Apply, чтобы изменения в базе не отобразились


 
Nikkkkk   (2003-08-20 11:46) [8]

DataSet - это где искат ???


 
Nikkkkk   (2003-08-20 11:47) [9]

в каком компоненте ???


 
DenK_vrtz ©   (2003-08-20 11:47) [10]

Тогда надо подход менять. Сначало формировать условие, потом запрос.
Я думаю, выбирать столько лишних записей, которые потом будут не нужны - это не правильно.

Vlad ©, интересное решение, только может долго работать, я думаю, могу ошибаться :-)


 
Vlad ©   (2003-08-20 11:48) [11]

:))))
Ну вместо датасета - пиши имя своего TQuery. Это я так, образно сказал :)


 
DenK_vrtz ©   (2003-08-20 11:48) [12]

Nikkkkk (20.08.03 11:46) [8], ты это серьезно?!


 
Vlad ©   (2003-08-20 11:49) [13]

2 DenK_vrtz © (20.08.03 11:47) [10]
Если еще вдобавок DisableControls поставить, то будет быстрее.


 
Nikkkkk   (2003-08-20 11:59) [14]

А какое максимально-допустимое колличество символов в строке запоса ???


 
Nikkkkk   (2003-08-20 12:00) [15]

и можно ли увеличить длинну запроса, или сделать выборку запросом из результатов???


 
Nikkkkk   (2003-08-20 12:04) [16]

и еще, какое максимально-допустипое колличество условий в
"where" , перечисляемых через "and"


 
Vlad ©   (2003-08-20 12:04) [17]

>>А какое максимально-допустимое колличество символов в строке запоса ???

На все разумные и неразумные запросы хватит :)

>>и можно ли увеличить длинну запроса, или сделать выборку запросом из результатов???

Поясни, не понял.


 
Nikkkkk   (2003-08-20 12:08) [18]

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


 
Vlad ©   (2003-08-20 12:21) [19]

Понял.
Не в курсе :)
Попробуй, ради эксперимента. Но, сдается мне тут можно обойтись без подобных извращений, если задача все еще та, что в сабж


 
Nikkkkk   (2003-08-20 12:24) [20]

кстати, мой повторный запрос (если попробовать обойтись без удаления), по длинне может составить 30000+ символов, и выдает ошибку kernrll32.dll. вот.



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

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

Наверх




Память: 0.51 MB
Время: 0.021 c
3-33479
Lamer_of_Delphi
2003-08-20 13:29
2003.09.11
Обновление данных


1-33582
Luc
2003-08-28 15:45
2003.09.11
Как получить Sender а по левому клику мышкой?


6-33699
ALaKO
2003-07-07 10:48
2003.09.11
Tembededwb


14-33786
ЮРИЙ_К
2003-08-22 16:30
2003.09.11
Как узнать что каталог пустой или в нем что-то есть ?


11-33534
Alexander
2002-12-29 21:47
2003.09.11
Как реализовать такой код на KOL?