Конференция "Базы" » TQuery, данные не хотят обновляться :( [D7, Paradox]
 
  • Кочпхдун Нджумбабаев (08.09.08 18:03) [0]
    По таймеру обновляю информацию в таблице, затем загружаю информацию из таблицы в 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;

  • Медвежонок Пятачок © (08.09.08 18:40) [1]
    участвуешь в конкурсе на самый дурной код?
  • Кочпхдун Нджумбабаев (08.09.08 18:52) [2]
    А что не так?
  • Медвежонок Пятачок © (08.09.08 18:53) [3]
    да все так. только зачем это?
  • stas © (08.09.08 21:13) [4]
    Странно
    >
    for i:=1 to  to StringGrid1.ColCount-1 do


    >
     stringgrid1.Rows[i].Add(



    и вообще почему не dbgrid ?
  • evvcom © (09.09.08 11:49) [5]
    Ужас!
    1. Почему не dbgrid? (уже задавался)
    2. Нафиг такое обновление по таймеру?
    3. Ужасный код, столько мусора...
 
Конференция "Базы" » TQuery, данные не хотят обновляться :( [D7, Paradox]
Есть новые Нет новых   [134435   +34][b:0][p:0.002]