Текущий архив: 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.48 MB
Время: 0.009 c