İki db arası veri aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

İki db arası veri aktarma

Mesaj gönderen Dostk »

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?

Kod: Tümünü seç

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;
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: İki db arası veri aktarma

Mesaj gönderen Lord_Ares »

Yap.ParamByName(UR) bu kısımda yazım hatası mı var ('UR').asstring gözünüzden kaçmış olabilir mi . Bundan olmasın
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

Re: İki db arası veri aktarma

Mesaj gönderen Dostk »

message 'Kop: Cannot perform this operation on a closed dataset' hatası alıyorum
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: İki db arası veri aktarma

Mesaj gönderen ertank »

Merhaba, @Loard_Ares'in belirttiği sorun dışında aşağıdaki satırlarda da mantık hatası var.

Kod: Tümünü seç

      Kop.ExecSQL;
      Yap.Next;
Bu ifadeler çapraz olmalı

Kod: Tümünü seç

      Yap.ExecSQL;
      Kop.Next;
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

Re: İki db arası veri aktarma

Mesaj gönderen Dostk »

Teşekkür ederim;

Yap.ExecSQL;
Kop.Next;
Cevapla