veritabanındaki dosyaları kopyalamak

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

veritabanındaki dosyaları kopyalamak

Mesaj gönderen sarp_halit »

Merhaba arkadaşlar. Ben aynı form üzerinde ya da farklı formlar üzerinde yer alan veritabanındaki bilgileri birbirine kopyalamak istiyorum. verileri değişkenlere aktarıp aynı değişkenleri diğerine insert edebiliyorum ama bu uzun zaman gerektiren bir işlem ve hatalara da yol açabiliyor.
hem hatalara yer vermeden hem de zaman kaybetmeden bu işlemi gerçekleştirebileceğim bir yol var mı?
Hepinize kolay gelsin
Fethiye den herkese sevgiler ...
X))@:>
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

yapmak istediğiniz iş tam olarak nedir? Niye bu kopyalama işini yapıyorsunuz yani?

Kolay gelsin.
Kullanıcı avatarı
sarp_halit
Üye
Mesajlar: 241
Kayıt: 17 Ara 2003 04:30
Konum: Cennet Fethiye
İletişim:

slm

Mesaj gönderen sarp_halit »

Bir şirkette her gün aynı yerlere servis yapıldığını düşünün ve hergün de irsaliye yazdırdığınızı varsayın. bu işlemi gerçekleştirmek için her seferinde aynı ürünleri yazmak kullanıcı için zaman kaybına neden olacağından ben de böyle bir uygulamaya başvurdum. bütün sebebi bu. ilginize teşekkür ederim.
Fethiye den herkese sevgiler ...
X))@:>
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

O zaman şöyle bir yöntem uygun olacaktır.

Kullanıcı bir irsaliye seçsin, kopyala komutunu verince yeni bir irsaliye eklesin ve tarih gibi bazı bilgiler hariç tüm bilgileri seçilen kayıttan kopyalasın. Yapınızı tam bilmiyorum, mesela irsaliye_id'ye göre takip yaptığınızı varsayıyorum. Şuna benzer bir kod olması lazım :

Kod: Tümünü seç

QTemp.Close;
QTemp.SQL.Clear;
QTemp.sQL.Add('SELECT * FROM IRSALIYE_TABLOSU WHERE IRSALIYE_ID='+ Tb_Irsaliye.FieldByName('IRSALIYE_ID').AsString);
QTemp.Open; 

// şu ana kadar mevcut irsaliye kaydını Qtemp ile seçtik

Tb_Irsaliye.Append;
Tb_Irsaliye.FieldByName('IRSALIYE_ID').AsInteger := irsaliye_kodu; //bu farklı olmak zorunda kopyalamadık
Tb_Irsaliye.FieldByName('TARIH').AsDateTime := Date; //bugünün tarihini attık. Tarihi de kopayalamadık. 
Tb_Irsaliye.FieldByName('FIRMA_ID').AsString := QTemp.FieldByName('FIRMA_ID').AsString; // firma_id'yi QTemp'ten aldık, kopyaladık. 
.......
Tb_Irsaliye.Post; 
yapıyı bilmediğim için alan isimlerini vs. örnek olarak yazdım.

Kolay gelsin.
Cevapla