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

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

Вопрос по TQuery [D6, dBase, FoxPro]


Nikkkkk ©   (2003-08-20 11:03:00) 

!!!Уважаемые мастера!!!
Я делая выборку запросом типа:
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"");

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


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

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


Vlad   (2003-08-20 12:21:00) [2]

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


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

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


Vlad   (2003-08-20 12:04:00) [4]

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

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

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

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


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

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


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

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


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

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


Vlad   (2003-08-20 11:49:00) [8]

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


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

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


DenK_vrtz   (2003-08-20 11:48:00) [10]

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


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

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

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


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

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


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

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


Vlad   (2003-08-20 11:42:00) [14]

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


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

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


DenK_vrtz   (2003-08-20 11:33:00) [16]

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

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


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

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


DenK_vrtz   (2003-08-20 11:23:00) [18]

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


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

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


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

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


Наверх

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