Вниз
Скачать: CL | DM;

Время выполнения запроса   Найти похожие ветки 

← →
Litr   (2004-05-11 07:57) [0]

Мастера, подскажите новичку. Делаю запрос с тремя параметрами:
время старта, стопа и №. Запрос выполняется достаточно быстро, далее добавляю два поля и заполняю их начиная с первой строки и до .Eof, ну уж слишком долго происходит заполнение этих полей.
Посмотрите код и подскажите, как можно сделать, чтоб получалось быстрее ? Заранее спасибо.

begin
      with ADOQuery1 do
begin
      Close;
      SQL.Text:="create table TMP (MDateTime DateTime, NTank Integer, Tape Integer, Sensor Integer)";
      ExecSql;
      Close;
      SQL.Text:="Delete * from TMP";
      ExecSQL;
      Close;
      SQL.Text:="insert into TMP Select  MDateTime, NTank,   (VolumeBytape/1000) as Type, (VolumeBySensor/1000)as Sensor  from TankData WHERE (MDateTime Between :Dt1 And :Dt2) AND NTank=:N order by MDateTime";
      ADOQuery1.Parameters.ParamByName("N").Value := DBComboBox1.text;
      ADOQuery1.Parameters.ParamByName("Dt1").Value :=Trunc(DateTimePicker7.Date) + DateTimePicker5.Time - Trunc(DateTimePicker5.Time);
      ADOQuery1.Parameters.ParamByName("Dt2").Value :=Trunc(DateTimePicker8.Date) + DateTimePicker6.Time - Trunc(DateTimePicker6.Time);
      ExecSql;
      Close;
      SQL.Text:="ALTER TABLE TMP ADD COLUMN Popravka Integer";
      ExecSQL;
      Close;
      SQL.Text:="ALTER TABLE TMP ADD COLUMN Result Integer";
      ExecSQL;
      Close;

      with ADOQuery6 do
begin
      Close;
      SQL.Text:="select * from TMP";
      Open;

      ADOQuery6.First;
      while not ADOQuery6.Eof do
begin
      p:=ADOQuery6.Fields[3].AsInteger;
      ADOQuery6.Edit;
      ADOQuery6.Fields[4].AsInteger:=0;
      ADOQuery6.Fields[5].AsInteger:=(p+0);
      ADOQuery6.Post;
      ADOQuery6.Next;


← →
sniknik ©   (2004-05-11 08:42) [1]

сделай еше одну SQL команду вместо цикла
UPDATE TMP SET Popravka = 0, [Result] = Sensor + 0


← →
Litr   (2004-05-11 08:56) [2]

да, но поля то Popravka, Result не заполненные, разве можно Update их ?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
14-1084457766
Delphi5.01
2004-05-13 18:16
2004.05.30
Gde mojno kupit pochtovik Administrator@MyFirm.com


1-1084939263
Cryon
2004-05-19 08:01
2004.05.30
Как завершить работу приложения


9-1075222195
Black Fury
2004-01-27 19:49
2004.05.30
Как интегрить файл справки DelphiX в Дельфи7?


14-1084259698
Ega23
2004-05-11 11:14
2004.05.30
Сразу вопрос. Правда по VC++ :o)


14-1084169869
тихий вовочка
2004-05-10 10:17
2004.05.30
теракт в Грозном




   Наверх