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

Вниз

Не выводятся данные в DBGrid   Найти похожие ветки 

 
galexis   (2005-11-09 11:38) [0]

Извиняюсь за глупый вопрос, но торможу, ничего не поделать.
Ситуация такая: идет поиск по фоновому запросу и вывод данных (TIBQuery+TDataSource+TDBGrid). Все работает прекрасно.
Меняю запрос с фонового на прямой, т.е.
FindQr.SQL.Clear;
FindQr.SQL.Add(....);
FindQr.Open;

В DBGrid остаются данные предыдущего запроса.
Я так понимаю дело в "фоновом наборе данных". Как его очистить?


 
ANB ©   (2005-11-09 12:09) [1]


> galexis   (09.11.05 11:38)

Что значит "фоновый набор".
ЗЫ. Перед открытием нового запроса неплохо бы старый то закрыть.
ЗЫЫ. SQL.Text := - удобнее.


 
galexis   (2005-11-09 12:14) [2]


> ANB ©

Закрыть! Так вот я и спрашиваю как его закрыть!
Выполняется фоновый запрос, идет передача набора данных из фонового потока в основной поток. Чего закрывать то?


 
Ega23 ©   (2005-11-09 12:17) [3]


FindQr.Close;
FindQr.SQL.Clear;
FindQr.SQL.Add(....);
FindQr.Open;


?


 
galexis   (2005-11-09 12:28) [4]


> Ega23 ©

Ну я понимаю, что я программист хреновый, но уж не настолько :).
Но вот формулировщик вопросов видимо точно совсем  никакой.
Попробую еще раз. Пользователь жмет кнопку Найти, создается и запускается фоновый поток, который производит поиск по запросу и возвращает набор данных в основной поток. Т.е. FindQr.Close - не действует - это компонент основного потока, а закрыть нужно из фона.
Выход  - убить фоновый поток! Вопрос, где его убить? По нажатию кнопки Найти не могу, иначе получится только создал, сразу и убил. Из другого места тоже не могу, создал то я его по кнопке Найти. Вот такая проблема


 
ANB ©   (2005-11-09 12:35) [5]


> galexis   (09.11.05 12:28) [4]

Еще больше все запутал. Код запости. И объясни - в чем смысл великий отдельного потока ?


 
Sergey13 ©   (2005-11-09 12:36) [6]

2[4] galexis   (09.11.05 12:28)
Если не знаешь как убить - зачем создавал? 8-)
И зачем вообще искать в другом потоке? Так долго ищет?


 
Плохиш ©   (2005-11-09 12:37) [7]


> galexis   (09.11.05 12:28) [4]

<telepator on>
Открывается один запрос, а отображаются данные из другого.
<telepator off>


 
galexis   (2005-11-09 12:44) [8]


> Sergey13 ©

Как убить я знаю, написать слово Destroy :) Для того и есть конструктор и деструктор.

Поиск в другом потоке - единственный способ отменить выполнение запроса, который я знаю.


 
galexis   (2005-11-09 13:15) [9]

Сделал, что называется в лоб. Поставил еще один TDataSource и переключаю свойство DBGrid.DataSource.
Я вообще противник большого числа одинаковых компонент в приложении.


 
Жанболат   (2005-11-10 09:37) [10]

На чем экономишь то?


 
Leonid Troyanovsky ©   (2005-11-10 10:08) [11]


> galexis   (09.11.05 12:44) [8]

> Поиск в другом потоке - единственный способ отменить выполнение
> запроса, который я знаю.


А выглядит отмена как TerminateThread? :)

--
Regards, LVT.


 
Digitman ©   (2005-11-11 09:54) [12]


> galexis


по поводу корректной отмены в IB "тяжелых" запросов, выполняемых в теле ХП, на ibase.ru есть статья



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

Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
2-1131360031
Андрей Молчанов
2005-11-07 13:40
2005.11.27
Странная ошибка


4-1127817486
Adept
2005-09-27 14:38
2005.11.27
Перехват API Функций


5-1112022648
JenekX
2005-03-28 19:10
2005.11.27
Сохранение свойств компонентов в файл


2-1131670336
Murdok
2005-11-11 03:52
2005.11.27
Работа с scrollbar


2-1131085026
вп
2005-11-04 09:17
2005.11.27
Mutex





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