Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TQuery, данные не хотят обновляться :( [D7, Paradox]


Кочпхдун Нджумбабаев ©   (2008-09-08 18:03:00) 

По таймеру обновляю информацию в таблице, затем загружаю информацию из таблицы в tstringgrid, однако информация загружается старая (и обновляется только после перезагрузки программы). Подскажите плз, как сделать, чтобы все обновлялось сразу же?

Спасибо!

код ниже:

procedure TMainForm.UpdateData();
var
 i:integer;
 SqlQuery:TQuery;
begin
 SqlQuery:=tquery.Create(nil);
 SqlQuery.SQL.text:='SELECT * FROM table.db';
 SqlQuery.Open;
 SqlQuery.First;
 for i:=1 to StringGrid1.ColCount-1 do
   StringGrid1.rows[i].Clear;
 i:=1;
 while not SqlQuery.Eof do begin
   stringgrid1.Rows[i].Add(SqlQuery.FieldValues['Value1']);
   stringgrid1.Rows[i].Add(SqlQuery.FieldValues['Value2'])
   SqlQuery.Next;
   inc(i);
 end;
 SqlQuery.close();
 SqlQuery.free();
end;

procedure TMainForm.Timer2Timer(Sender: TObject);
var
 SqlQuery:TQuery;
 SqlQueryEdit:TQuery;
begin
 timer2.Enabled:=false;
 SqlQuery:=TQuery.Create(nil);
 SqlQuery.SQL.Text:='SELECT * FROM table.db';
 SqlQuery.Open;
 SqlQuery.First;
 while not SqlQuery.Eof do begin
   SqlQueryEdit:=TQuery.Create(nil);
   SqlQueryEdit.AutoRefresh:=true;
   if SqlQuery.FieldValues['Value1']='TheValue') then
     SqlQueryEdit.SQL.Text:='UPDATE table.db SET Value1="'+NewValue+'" WHERE Id='+SqlQuery.fields[0].Text+'';
   if SqlQueryEdit.SQL.Text<>'' then
     SqlQueryEdit.ExecSQL();
   SqlQueryEdit.close();
   SqlQueryEdit.Free();
   SqlQuery.Next;
 end;
 SqlQuery.close();
 SqlQuery.free();
 UpdateData();
 timer2.Enabled:=true;
end;


evvcom   (2008-09-09 11:49:00) [1]

Ужас!
1. Почему не dbgrid? (уже задавался)
2. Нафиг такое обновление по таймеру?
3. Ужасный код, столько мусора...


stas   (2008-09-08 21:13:00) [2]

Странно
> for i:=1 to  to StringGrid1.ColCount-1 do
>  stringgrid1.Rows[i].Add(

и вообще почему не dbgrid ?


Медвежонок Пятачок   (2008-09-08 18:53:00) [3]

да все так. только зачем это?


Кочпхдун Нджумбабаев   (2008-09-08 18:52:00) [4]

А что не так?


Медвежонок Пятачок   (2008-09-08 18:40:00) [5]

участвуешь в конкурсе на самый дурной код?


Наверх

Титульная страница Поиск, карта сайта Написать письмо