Tadodataset.insert

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Tadodataset.insert

Mesaj gönderen varyemez »

xml dosyadan clientdataset içine aldığım veriyi SQL server tabloya aktarmak için aşağıdaki kodları deniyorum fakat

---------------------------
Çok adımlı işlem hatalar üretti. Her bir durum değerini denetleyin.
---------------------------
böyle bir hata mesajı geliyor bir süre sonra.. Nerde hata yapıyorum acaba.
buradaki cds1 clientdataset.

Kod: Tümünü seç

procedure TForm1.Button5Click(Sender: TObject);
//veritabanına aktarma
begin
dbgrid2.DataSource:=nil;
Adoconnection1.Connected:=true;

cds1.DisableControls;
cds1.First;
adodataset1.Active:=true;
while not cds1.Eof do
begin
adodataset1.Insert;
adodataset1ECZANE_ID.Value:= cds1.RecNo;
adodataset1GLN_NO.Value:=CDS1GLN.Value;
adodataset1ECZANE_ADI.Value:=copy(CDS1COMPANYNAME.Value,1,30);
adodataset1ECZACI_ADI.Value:=copy(CDS1AUTHORIZED.Value,1,15);
adodataset1ECZANE_EPOSTA.Value:=CDS1EMAIL.Value;
adodataset1ECZANE_TEL1.Value:=CDS1PHONE.Value;
adodataset1.Post;

cds1.Next;
//label3.Caption:=inttostr(cds1.RecNo);
end;

cds1.EnableControls;
showmessage(inttostr(cds1.RecordCount)+ ' adet '+uppercase(cb1.Text)+' aktarıldı');
 adodataset1.Active:=false;;

end;


Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Tadodataset.insert

Mesaj gönderen sabanakman »

Tablonuzda tanımlı Trigger yazılmışsa kodları set nocount off ile başlatın ve sonunda on yapın. Eğer trigger çalışması şart değilse bu esnada disable yapılabilir ama işlemnden sonra tekrar enable olması çok önemli.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: Tadodataset.insert

Mesaj gönderen varyemez »

Teşekkür ederim. Tüm alanları copy(...) ile trimleyince ve adodataset yerine adotable kullanınca çalıştı. fakat öyle yavaş ki , 26 bin kaydı aktarması 10 dakikayı geçti. aynı şeyi firebird ile yapıyorum , en fazla 30 40 saniye alıyor
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Tadodataset.insert

Mesaj gönderen sabanakman »

O zaman trigger diyorum :)
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla