Mysql update hatası 0x4da2ef6d

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
ertemsoft
Üye
Mesajlar: 129
Kayıt: 19 Nis 2005 01:22
İletişim:

Mysql update hatası 0x4da2ef6d

Mesaj gönderen ertemsoft »

mrb

Mysql veritabanına ODBC + BDE üzerinden bağlanıyorum tabloyu baştan oluşturup verileri Import etmeme rağmen
programı çalıştırdıktan bir müddet sonra uygulama tamamen kapanıyor (sanki ctrl+alt+del den sonlandırılmış gibi)

program tahakkuk tablosunda bazı alanları güncelliyor cache update yöntemi ile güncelleme yapıyorum update düzgün
çalışıyor eğer 100 kadar personeli seçip işlemi yaparsam herhangi bir hata ile karşılaşmıyorum ancak tüm personel
seçilirse (400 civarı) program sonlanıyor.

Delphi ile debug edince acces violation at 0x4da2ef6d :read of address 0x9ec067e8 hatası alıyorum uzun yıllardır
aynı veritabanını kullanmama rağmen ilk defa böyle bir hata ile karşılaştım. Yardımcı olabilecek ve fikirlerini paylaşacak arkadaşlara şimdiden teşekkür ederim.


procedure Tper018f.TahakukQUpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
if UpdateKind= ukModify then
begin
bosq.Close;
bosq.SQL.Clear;
BosQ.SQL.Text:=' update tahakkuk set '
+' NORCALTUT = :NORCALTUT,'
+' HAFTATTUT = :HAFTATTUT,'
+' GENTATTUT = :GENTATTUT,'
+' YILIZINTUT = :YILIZINTUT,'
+' HASTALIKTUT = :HASTALIKTUT,'
+' SOSIZINTUT = :SOSIZINTUT,'
+' GECEZAMTUT = :GECEZAMTUT,'
+' FAZMES1TUT = :FAZMES1TUT,'
+' FAZMES2TUT = :FAZMES2TUT,'
+' FAZMES3TUT = :FAZMES3TUT,'
+' COCUKTUT = :COCUKTUT,'
+' TOPBRUT = :TOPBRUT,'
+' COCUK = :COCUK,'
+' SIGMAT = :SIGMAT,'
+' SIGMAT2 = :SIGMAT2,'
+' VERMAT = :VERMAT,'
+' GENIND = :GENIND,'
+' SKTIND = :SKTIND,'
+' OZELSAGLIK = :OZELSAGLIK,'
+' HAYATSIG = :HAYATSIG,'
+' SSKPRIM = :SSKPRIM,'
+' SSKPRIM2 = :SSKPRIM2,'
+' DAMGAVER = :DAMGAVER,'
+' SSKISSIZ = :SSKISSIZ,'
+' SENDIKA = :SENDIKA,'
+' VERGI = :VERGI,'
+' NETTUT = :NETTUT,'
+' YILIZMAT = :YILIZMAT,'
+' ISVISSIZPRIM = :ISVISSIZPRIM,'
+' VIADETUT = :VIADETUT,'
+' TERSBAKIYE = :TERSBAKIYE,'
+' DKULKODU = :DKULKODU,'
+' DKAYITTAR = :DKAYITTAR,'
+' ASGINDTUT = :ASGINDTUT,'
+' ISVSIGMAT = :ISVSIGMAT,'
+' ISVSIGIND = :ISVSIGIND,'
+' ISVYILIZMAT = :ISVYILIZMAT,'
+' ISVSIGPRM = :ISVSIGPRM '
+' where SIRKOD = :SIRKOD and'
+' DONEM = :DONEM and'
+' EKNO = :EKNO and'
+' SICIL = :SICIL';

BosQ.ParamByName('SIRKOD').AsInteger :=sb.SirKod;
BosQ.ParamByName('EKNO').AsInteger :=1;
BosQ.ParamByName('DONEM').AsInteger :=TahakukQDONEM.OldValue;
BosQ.ParamByName('SICIL').AsInteger :=TahakukQSICIL.OldValue;
//
BosQ.ParamByName('NORCALTUT').AsFloat := Roundto(TahakukQNORCALTUT.AsFloat,-2);
BosQ.ParamByName('HAFTATTUT').AsFloat := Roundto(TahakukQHAFTATTUT.AsFloat,-2);
BosQ.ParamByName('GENTATTUT').AsFloat := Roundto(TahakukQGENTATTUT.AsFloat,-2);
BosQ.ParamByName('YILIZINTUT').AsFloat := Roundto(TahakukQYILIZINTUT.AsFloat,-2);
BosQ.ParamByName('HASTALIKTUT').AsFloat := Roundto(TahakukQHASTALIKTUT.AsFloat,-2);
BosQ.ParamByName('SOSIZINTUT').AsFloat := Roundto(TahakukQSOSIZINTUT.AsFloat,-2);
BosQ.ParamByName('GECEZAMTUT').AsFloat := Roundto(TahakukQGECEZAMTUT.AsFloat,-2);
BosQ.ParamByName('FAZMES1TUT').AsFloat := Roundto(TahakukQFAZMES1TUT.AsFloat,-2);
BosQ.ParamByName('FAZMES2TUT').AsFloat := Roundto(TahakukQFAZMES2TUT.AsFloat,-2);
BosQ.ParamByName('FAZMES3TUT').AsFloat := Roundto(TahakukQFAZMES3TUT.AsFloat,-2);
BosQ.ParamByName('COCUKTUT').AsFloat := Roundto(TahakukQCOCUKTUT.AsFloat,-2);
BosQ.ParamByName('TOPBRUT').AsFloat := Roundto(TahakukQTOPBRUT.AsFloat,-2);
BosQ.ParamByName('COCUK').AsInteger := TahakukQCOCUK.AsInteger;
BosQ.ParamByName('SIGMAT').AsFloat := Roundto(TahakukQSIGMAT.AsFloat,-2);
BosQ.ParamByName('SIGMAT2').AsFloat := Roundto(TahakukQSIGMAT2.AsFloat,-2);
BosQ.ParamByName('VERMAT').AsFloat := Roundto(TahakukQVERMAT.AsFloat,-2);
BosQ.ParamByName('GENIND').AsFloat := Roundto(TahakukQGENIND.AsFloat,-2);
BosQ.ParamByName('SKTIND').AsFloat := Roundto(TahakukQSKTIND.AsFloat,-2);
BosQ.ParamByName('OZELSAGLIK').AsFloat := Roundto(TahakukQOZELSAGLIK.AsFloat,-2);
BosQ.ParamByName('HAYATSIG').AsFloat := Roundto(TahakukQHAYATSIG.AsFloat,-2);
BosQ.ParamByName('SSKPRIM').AsFloat := Roundto(TahakukQSSKPRIM.AsFloat,-2);
BosQ.ParamByName('SSKPRIM2').AsFloat := Roundto(TahakukQSSKPRIM2.AsFloat,-2);
BosQ.ParamByName('DAMGAVER').AsFloat := Roundto(TahakukQDAMGAVER.AsFloat,-2);
BosQ.ParamByName('SSKISSIZ').AsFloat := Roundto(TahakukQSSKISSIZ.AsFloat,-2);
BosQ.ParamByName('SENDIKA').AsFloat := Roundto(TahakukQSENDIKA.AsFloat,-2);
BosQ.ParamByName('VERGI').AsFloat := Roundto(TahakukQVERGI.AsFloat,-2);
BosQ.ParamByName('NETTUT').AsFloat := Roundto(TahakukQNETTUT.AsFloat,-2);
BosQ.ParamByName('YILIZMAT').AsFloat := Roundto(TahakukQYILIZMAT.AsFloat,-2);
BosQ.ParamByName('ISVISSIZPRIM').AsFloat:= Roundto(TahakukQISVISSIZPRIM.AsFloat,-2);
BosQ.ParamByName('VIADETUT').AsFloat := Roundto(TahakukQVIADETUT.AsFloat,-2);
BosQ.ParamByName('TERSBAKIYE').AsFloat := Roundto(TahakukQTERSBAKIYE.AsFloat,-2);
BosQ.ParamByName('DKULKODU').AsString :=SB.KullaniciKodu;
BosQ.ParamByName('DKAYITTAR').AsDatetime:=now;
BosQ.ParamByName('ASGINDTUT').AsFloat :=Roundto(tahakukqASGINDTUT.AsFloat,-2);
BosQ.ParamByName('ISVSIGMAT').AsFloat :=Roundto(tahakukqISVSIGMAT.AsFloat,-2);
BosQ.ParamByName('ISVSIGIND').AsFloat :=Roundto(tahakukqISVSIGIND.AsFloat,-2);
BosQ.ParamByName('ISVSIGPRM').AsFloat :=Roundto(tahakukqISVSIGPRM.AsFloat,-2);
BosQ.ParamByName('ISVYILIZMAT').AsFloat :=Roundto(tahakukqISVYILIZMAT.AsFloat,-2);

try
BosQ.ExecSQL;
UpdateAction:=uaApplied;
except
UpdateAction:=uaFail;
tahakukq.RevertRecord;
end;
end;
Bilgi Paylaştıkça Çoğalır
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Mysql update hatası 0x4da2ef6d

Mesaj gönderen Lost Soul »

prosedürün başına

Kod: Tümünü seç

if bosq=nil then exit; 
yazarak deneyin.
ertemsoft
Üye
Mesajlar: 129
Kayıt: 19 Nis 2005 01:22
İletişim:

Re: Mysql update hatası 0x4da2ef6d

Mesaj gönderen ertemsoft »

slm

BosQ.ExecSQL;

bundan öncemi tam olarak nereye yazmalıyım ?
Bilgi Paylaştıkça Çoğalır
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Mysql update hatası 0x4da2ef6d

Mesaj gönderen Lost Soul »

beginden hemen sonra, prosedürün başında.
Cevapla