İnsert ve update işlemi hakkında.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sirdragonblack
Üye
Mesajlar: 32
Kayıt: 04 Tem 2009 06:20
Konum: İstanbul

İnsert ve update işlemi hakkında.

Mesaj gönderen sirdragonblack »

Merhabalar. Hostta bulunan sql veritabanına firebird veritabanından stok,cari gibi kayıtları gönderirken şu yöntemi uyguluyorum.

Kod: Tümünü seç

Stok1.first;
while not stok1.eof do
begin
arama := stok.locate('ID',stok1id.asinteger,[]);
if arama = true then
stok1.next
else
begin
stok.insert
.....
....
stok.post;
stok1.next;
end;
end;
Fakat bu yöntem hosta satır satır attığı ve update işleminde de satır satır kontrol ettiğii için exeyi ve bilgisayarı kasıyor. Toplu veri gönderimi yapabilir miyim ya da daha hızlı ve kasmayan nasıl bir yöntem tavsiye edebilirsiniz. Allah yâr ve yardımcınız olsun.
sirdragonblack
Üye
Mesajlar: 32
Kayıt: 04 Tem 2009 06:20
Konum: İstanbul

Re: İnsert ve update işlemi hakkında.

Mesaj gönderen sirdragonblack »

Yardım edebilecek kimse yokmu?
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: İnsert ve update işlemi hakkında.

Mesaj gönderen Lost Soul »

Şuna benzer bir yapı kurgulayın.
Mysql için

Kod: Tümünü seç

select ID from STOK;
sonra bu id leri virgül ile ayırıp string bir yapı oluşturun String idler := '(1,2,56,78)' gibi

daha sonra firebird tablosunda şöyle br sorgu yapın

Kod: Tümünü seç

'select * from stok where stok.id in ' + idler
en son olarak tabloyu açıp ister tek tek atın isterseniz sql script oluşturup bir seferde çalıştırın

not : bu yöntem kayıt sayısı tahmini 1000 den az olanlar içn kullanılır. Daha fazla olanlar için idleri diziye atıp ordan kontrol edin.

Bu arada application.proccesmessages kullanmayı unutmayın.

Fikir vermesi açısından kabaca yazdım umarım faydası olur.
sirdragonblack yazdı:Merhabalar. Hostta bulunan sql veritabanına firebird veritabanından stok,cari gibi kayıtları gönderirken şu yöntemi uyguluyorum.

Kod: Tümünü seç

Stok1.first;
while not stok1.eof do
begin
arama := stok.locate('ID',stok1id.asinteger,[]);
if arama = true then
stok1.next
else
begin
stok.insert
.....
....
stok.post;
stok1.next;
end;
end;
Fakat bu yöntem hosta satır satır attığı ve update işleminde de satır satır kontrol ettiğii için exeyi ve bilgisayarı kasıyor. Toplu veri gönderimi yapabilir miyim ya da daha hızlı ve kasmayan nasıl bir yöntem tavsiye edebilirsiniz. Allah yâr ve yardımcınız olsun.
sirdragonblack
Üye
Mesajlar: 32
Kayıt: 04 Tem 2009 06:20
Konum: İstanbul

Re: İnsert ve update işlemi hakkında.

Mesaj gönderen sirdragonblack »

Cevap için teşekkürler. Mutlaka deneyeceğim ve sonucu paylaşacağım. Hayırlı geceler.
esrehmaan

Re: İnsert ve update işlemi hakkında.

Mesaj gönderen esrehmaan »

Bence kod ile hiççç uğraşma IBExpert indir Tools>Import Data dan çok rahatlıkla ve hızlı bir şekilde firebird de veri girişi yapabilirsin...


Trial sürümü : http://www.ibexpert.com/download/setup_trial.exe (45 gün)...
Cevapla