![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Очищается сетка DBgrida при ADOquery из другой формы. [D7, MSSQL]
Vlad Oshin © (2007-02-28 12:25:00)не пойму.. , уже вообще создал новый тестовый проект..
есть
Form1:
ADOquery1
Datasource1 (dataset=ADOquery1)
DBgrid1 (Datasource=Datasource1)
buttun1 //showmodal(form2);
Form2
button1
-----------
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.ADOQuery1.Active:=false;
form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add('select * from Table1');
// Table1 существует, записи там есть, права на нее есть
form1.ADOQuery1.Active;
end;
ошибок процедура не выдает
а сетка на первой форме очищается
// как будто потерялся источник данных?
evvcom (2007-02-28 15:31:00) [1]> [0] Vlad Oshin © (28.02.07 12:25)
> а сетка на первой форме очищается
> // как будто потерялся источник данных?
Поставь бряк на какой-нить обработчик грида, который 100% сработает в нужный тебе момент, например, OnDrawCell. 1-й момент, когда все нормально, засеки адрес объекта DBGrid.DataSource.DataSet и его Active (естественно =True). А потом, когда уже ненормально и сравни.
Плохиш (2007-02-28 13:37:00) [2]
> form1.ADOQuery1.SQL.Clear;
> form1.ADOQuery1.SQL.Add('select * from Table1');
Пагубное влияние чтения вопросов от начинающих?
> не пойму..
Ошибка где-то в программе...
Ega23 (2007-02-28 13:28:00) [3]
> ADOQuery переделать на ADODataSet (я не работал с АДО, но
> тут часто об этом говорят)
Не обязательно, но желательно.
> вынеси их на DataModule.
+ 1
Sergey13 (2007-02-28 12:58:00) [4]> [0] Vlad Oshin © (28.02.07 12:25)
Попробуй просто Show вместо ShowModal.
ADOQuery переделать на ADODataSet (я не работал с АДО, но тут часто об этом говорят) и вынеси их на DataModule.
Desdechado (2007-02-28 12:57:00) [5]
form1.ADOQuery1.Active;
это чего такое?