Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TQuery, данные не хотят обновляться :( 
:(
    Опции темы
КочпхдунНджумбабаев
Дата 8.9.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.9.2008

Репутация: нет
Всего: нет



По таймеру обновляю информацию в таблице, затем загружаю информацию из таблицы в 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;

PM MAIL   Вверх
Poseidon
Дата 9.9.2008, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 3
Всего: 133



Ты уверен что выполняется условие 
Код
   if SqlQuery.FieldValues['Value1']='TheValue') then
???

И зачем вообще на каждую запись в SqlQuery создавать отдельно SqlQueryEdit, забивать туда запрос и выполнять его по условию, если можно сделать все одним запросом из того же SqlQuery?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.