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

Вниз

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

Наверх





Память: 0.48 MB
Время: 0.01 c
14-33810
Ru
2003-08-22 11:31
2003.09.11
Я понимаю, что еще рано, но все-таки:


3-33527
LIK22
2003-08-19 12:49
2003.09.11
Помогите с SubString.


1-33601
Adoon
2003-09-01 14:35
2003.09.11
DBGrid и TreeView


3-33457
P0tia
2003-08-20 22:27
2003.09.11
Label и ComboBoxEx


1-33684
Ау
2003-08-28 23:39
2003.09.11
Выравнивание в РичЕдит





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский