Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
İki db arası veri aktarma
#1
Selam. kopya yapıştır işlemi için listviewde seçtiğim kayıtları db'ye alıyorum sonra copy databaseye aldığım verileri yapıştır dediğimde işlem hata veriyor, acaba nerede hata yapıyorum?

procedure TForm2.BtnYapistisClick(Sender: TObject);
var
  Kop, Yap: TFDQuery; // FireDAC.Comp.Client
begin
  Kop := QCopy;
  Yap := QUList;
    Kop.Connection := XConnection;
    Kop.Close;
    Kop.SQL.Clear;
    Kop.SQL.Add('Select * From COPY');
    Kop.Prepared := True;
    Kop.Open;
    while Not Kop.EOF do
    begin
      Yap.Connection := XConnection;
      Yap.Close;
      Yap.SQL.Clear;
      Yap.SQL.Add  ('Insert Into URUNLER(URUN, KATEGORI, ZEMINRENK, TIPI, TARIH)');
      Yap.SQL.Add  ('Values (:UR, :KT, :ZR,  :TP, :TR)');
      Yap.ParamByName(UR).AsString := Kop.FieldByName('URUN').AsString;
      Yap.ParamByName('KT').AsString := Kop.FieldByName('KATEGORI').AsString;
      Yap.ParamByName('ZR').AsString := Kop.FieldByName('ZEMINRENK').AsString;
      Yap.ParamByName('TP').AsString:= Kop.FieldByName('TIPI').AsString;
      Yap.ParamByName('TR').AsDate := Date;
      Kop.ExecSQL;
      Yap.Next;
    end;
  end;
end;
Hayat bazen güzel olabiliyor.
Cevapla
#2
    Kop.Open;

Kop.First; // bunu ekleyin

   while Not Kop.EOF do

   .
   .
   .
   Yap.ParamByName(UR).AsString := Kop.FieldByName('URUN').AsString;
UR başında tırnak koyun Yap.ParamByName('UR').AsString

Verdiği hatayıda belirtirseniz daha fazla yardımcı olabiliriz.
Cevapla
#3
(27-01-2017, Saat: 00:24)Dostk Adlı Kullanıcıdan Alıntı:
    while Not Kop.EOF do
    begin
      Yap.Connection := XConnection;
      Yap.Close;
      Yap.SQL.Clear;
      Yap.SQL.Add  ('Insert Into URUNLER(URUN, KATEGORI, ZEMINRENK, TIPI, TARIH)');
      Yap.SQL.Add  ('Values (:UR, :KT, :ZR,  :TP, :TR)');
      Yap.ParamByName(UR).AsString := Kop.FieldByName('URUN').AsString;
      Yap.ParamByName('KT').AsString := Kop.FieldByName('KATEGORI').AsString;
      Yap.ParamByName('ZR').AsString := Kop.FieldByName('ZEMINRENK').AsString;
      Yap.ParamByName('TP').AsString:= Kop.FieldByName('TIPI').AsString;
      Yap.ParamByName('TR').AsDate := Date;
      Kop.ExecSQL;
      Yap.Next;
    end;

En sondaki Kop.ExecSQL ve Yap.Next  yanlış olmuş sanırım.
There's no place like 127.0.0.1
WWW
Cevapla
#4
değişikliği yaptım.

message 'Kop: Cannot perform this operation on a closed dataset' hatası alıyorum
Hayat bazen güzel olabiliyor.
Cevapla
#5
(27-01-2017, Saat: 10:45)Dostk Adlı Kullanıcıdan Alıntı: değişikliği yaptım.

message 'Kop: Cannot perform this operation on a closed dataset' hatası alıyorum
bunu kapatıp deneyebilir misin,
// Yap.Close;
WWW
Cevapla
#6
(27-01-2017, Saat: 10:45)Dostk Adlı Kullanıcıdan Alıntı: değişikliği yaptım.

message 'Kop: Cannot perform this operation on a closed dataset' hatası alıyorum

Ne yaptığınızı bilmiyoruz???
There's no place like 127.0.0.1
WWW
Cevapla
#7
procedure TForm2.BtnYapistisClick(Sender: TObject);
var
 Kop, Yap: TFDQuery; // FireDAC.Comp.Client
begin
 Kop := QCopy;
 Yap := QUList;
   Kop.Connection := XConnection;
   Kop.Close;
   Kop.SQL.Clear;
   Kop.SQL.Add('Select * From COPY');
   Kop.Prepared := True;
   Kop.Open;
   while Not Kop.EOF do
   begin
     Yap.Connection := XConnection;
     Yap.Close;
     Yap.SQL.Clear;
     Yap.SQL.Add  ('Insert Into URUNLER(URUN, KATEGORI, ZEMINRENK, TIPI, TARIH)');
     Yap.SQL.Add  ('Values (:UR, :KT, :ZR,  :TP, :TR)');
     Yap.ParamByName(UR).AsString := Kop.FieldByName('URUN').AsString;
     Yap.ParamByName('KT').AsString := Kop.FieldByName('KATEGORI').AsString;
     Yap.ParamByName('ZR').AsString := Kop.FieldByName('ZEMINRENK').AsString;
     Yap.ParamByName('TP').AsString:= Kop.FieldByName('TIPI').AsString;
     Yap.ParamByName('TR').AsDate := Date;
      Kop.ExecSQL; // Burası Yap.ExecSQL; olmalı
     Yap.Next; // Burası Kop.Next; olmalı
   end;
 end;
end;
WWW
Cevapla
#8
Teşekkür ederim;

Yap.ExecSQL;
Kop.Next;
Hayat bazen güzel olabiliyor.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  IEC 61850 Potokolünden veri alma shooterman 1 443 14-03-2024, Saat: 11:38
Son Yorum: shooterman
  Veri Tabanına Kontrollü Kayıt Yaptırma bünyamin68 15 788 08-03-2024, Saat: 00:06
Son Yorum: TuncayDelphi
  Problem - ZKTeco Cihazlardan Anlık Veri Alma mad85 16 8.151 25-12-2023, Saat: 11:35
Son Yorum: osiso
  Formlar Arası Geçiş delphiX14 2 276 06-12-2023, Saat: 21:57
Son Yorum: delphiX14
  Cas Terazi Veri gönderimi Delphi sürüm sorunu KUNTAY 12 4.418 08-11-2023, Saat: 00:06
Son Yorum: berkan



Konuyu Okuyanlar: 1 Ziyaretçi