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

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

Как скопировать таблицу DBF в IB. [D5]


goldenmax ©   (2004-10-18 10:10:00) 

Доброго времени суток. Ребята подскажите как скопировать таблицу DBF в таблицу IB.  Если можно с примером плиз.


Vlad   (2004-10-18 15:40:00) [1]


> goldenmax ©   (18.10.04 10:10)  
> Доброго времени суток. Ребята подскажите как скопировать
> таблицу DBF в таблицу IB.  Если можно с примером плиз.

TBatchMove
Пример - одна строчка BatchMove.Execute


Submarine   (2004-10-18 15:02:00) [2]

> Ильш
Скажи, а он вообще из каких форматов может копировать ?
Или кинь ссылку, где есть описание.


Ильш   (2004-10-18 11:04:00) [3]

а IB Import конечно не судьба же найти да???


Submarine   (2004-10-18 10:15:00) [4]

Здесь qryPrihod -имя query из которой копируем, qryPLOGDATA_N -куда копируем.


Submarine   (2004-10-18 10:13:00) [5]

На прямую незнаю, а через БДЕ лови :
bm : TBitMap;
   min3:integer;

implementation

{$R *.DFM}
 {$R bground.RES}

procedure TForm1.FormCreate(Sender: TObject);
VAR
 ResStream : TResourceStream;
 Present: TDateTime;
 Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
bm := TBitMap.Create;
 ResStream := nil;
 try
   ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
   bm.LoadFromStream(ResStream);
 finally
   ResStream.Free;
 end;
 Present:= Now-1/24;
  DecodeDate(Present, Year, Month, Day);
  qryPrihod.SQL[4]:='and timeval >'+'"'+IntToStr(Month)+'/'+IntToStr(Day)+'/'+IntToStr(Year) +'"';
 qryPrihod.open;
  rxLabel2.Caption:=IntToStr(qryPrihod.RecordCount);

end;

procedure TForm1.FormPaint(Sender: TObject);
var
 x, y: integer;
begin
 for x := 0 to form1.ClientWidth div bm.Width do
   for y := 0 to form1.ClientHeight div bm.Height do
     form1.Canvas.Draw(x * bm.Width, y * bm.Height, bm);

end;

procedure TForm1.RxSpeedButton2Click(Sender: TObject);
var x, ROW: integer;
  begin
Screen.Cursor := crHourGlass;
 // Перенос данных
if qryPLOGDATA_N.Active then qryPLOGDATA_N.Close;
 qryPLOGDATA_N.Open;
 x:= qryPrihod.RecordCount;
  ROW:=1;
  g1.show;
  g1.MaxValue:=x;
   g1.MinValue :=0;
    qryPrihod.first;
  WHILE (row<=x) do begin
  qryPLOGDATA_N.insert;
  qryPLOGDATA_NSHLEIF.Value:=qryPrihodshleif.value;
  qryPLOGDATA_NTIMEVAL.Value:=qryPrihodtimeval.Value;
  qryPLOGDATA_NHOZORGAN.Value:=qryPrihodhozorgan.Value;
  qryPLOGDATA_NREMARK.Value:=qryPrihodremark.value;
  g1.Progress:=row-3;
   qryPLOGDATA_N.Post;
 qryPrihod.Next;
 INC(ROW);
   end;
   qryPLOGDATA_N.Close;
    Screen.Cursor := crDefault;

   end;

procedure TForm1.qryPLOGDATA_NAfterPost(DataSet: TDataSet);
var DS: TDBDataSet;
begin
DS := TDBDataSet(DataSet);
 try
   INCHELSUD.ApplyUpdates([DS]);
 except
   ShowMessage('Не удается сохранить изменения на сервере. '+
     'Проверьте данные или обратитесь к администратору базы данных');
   DS.CancelUpdates;
 end;//try

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 rxLabel4.Caption:=Format('%2d : %2d',[Min3 div 60, Min3 mod 60 ]);
  Dec(Min3);
 if Min3<0 then  begin
  rxSpeedButton1.Click;
  end;

end;

procedure TForm1.RxSpeedButton1Click(Sender: TObject);
var dd: TDateTime;
 Year, Month, Day, Hour, Min, Sec, MSec: Word;
 ll, ln: string;
 x, ROW: integer;
begin
  dd:= Now-1/24;
  DecodeDate(dd, Year, Month, Day);
  ll:=IntToStr(Month)+'/'+IntToStr(Day)+'/'+IntToStr(Year);
   DecodeTime(dd,Hour, Min, Sec, MSec);
   ln:=IntToStr(Hour)+':'+IntToStr(Min)+':'+ IntToStr(Sec);
   Screen.Cursor := crHourGlass;
if qryPrihod.Active then qryPrihod.Close;
 // Перенос данных
  qryPrihod.SQL[4]:='and timeval >'+'"'+ll+' '+ln+'"';
  Screen.Cursor := crHourGlass;
  qryPrihod.open;
 // Перенос данных
if qryPLOGDATA_N.Active then qryPLOGDATA_N.Close;
 qryPLOGDATA_N.Open;
 x:= qryPrihod.RecordCount;
  ROW:=1;
  g1.show;
  g1.MaxValue:=x;
   g1.MinValue :=0;
    qryPrihod.first;
  WHILE (row<=x) do begin
  qryPLOGDATA_N.insert;
  qryPLOGDATA_NSHLEIF.Value:=qryPrihodshleif.value;
  qryPLOGDATA_NTIMEVAL.Value:=qryPrihodtimeval.Value;
  qryPLOGDATA_NHOZORGAN.Value:=qryPrihodhozorgan.Value;
  qryPLOGDATA_NREMARK.Value:=qryPrihodremark.value;
  g1.Progress:=row-3;
   qryPLOGDATA_N.Post;
 qryPrihod.Next;
 INC(ROW);
   end;
   qryPLOGDATA_N.Close;
 timer1.enabled:=true;
 Min3:=60*60;

end;

procedure TForm1.FormActivate(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;

end.


Наверх

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