![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по 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.Установить фильтр