Floating point division by zero

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Floating point division by zero

Mesaj gönderen pasa_yasar »

Kod: Tümünü seç

          
                      UniQuery201.close;
                      UniQuery201.sql.clear;
                      UniQuery201.sql.add('select VBELGEBAGID,CID from document');
                      UniQuery201.sql.add('where VBELGEBAGID='''+Trim(UniQuery1.fieldbyname('ID').asstring)+'''');
                      UniQuery201.sql.add('and CID='''+Trim(UniQuery1.fieldbyname('ID').asstring)+'''');
                      UniQuery201.open;

                      if  UniQuery201.RecordCount>0 then
                      begin
                          UniQuery201.Delete;
                      end;
                      
                     
                    UniQuery201.close;
                    UniQuery201.sql.clear;
                    UniQuery201.sql.add('select * from document');
                    UniQuery201.sql.add('where GENID='''+Trim(UniQuery1.fieldbyname('GENID').asstring)+'''');
                    UniQuery201.open;

                    UniQuery201.edit;
                    UniQuery201.fieldbyname('statu').asstring:='Nakit Tahsilat';
                    UniQuery201.fieldbyname('gorunum').asstring:='Evet';
                    UniQuery201.post;


Yukarıdaki kod işlemi gerçekleştirdiğimde "Floating point division by zero" hatasını veriyor. Hiçbir sayısal işlem yok. Kaydettiği anda bu hatayı veriyor. Post metodunun içinide göremiyorum hatayı takip edebileyim.

Kod: Tümünü seç

             
                      UniQuery201.close;
                      UniQuery201.sql.clear;
                      UniQuery201.sql.add('select VBELGEBAGID,CID from document');
                      UniQuery201.sql.add('where VBELGEBAGID='''+Trim(UniQuery1.fieldbyname('ID').asstring)+'''');
                      UniQuery201.sql.add('and CID='''+Trim(UniQuery1.fieldbyname('ID').asstring)+'''');
                      UniQuery201.open;
yukarıdaki işlemi sildiğimde çalışıyor veya tersi olarak aşağıdaki işlemi sildiğimde de çalışıyor.

Kod: Tümünü seç

          
                    UniQuery201.edit;
                    UniQuery201.fieldbyname('statu').asstring:='Nakit Tahsilat';
                    UniQuery201.fieldbyname('gorunum').asstring:='Evet';
                    UniQuery201.post;
Son kayıtlarda bu hatayı veriyor. Eğer bir işlem daha varsa hata yok ama son işlemi sildiğinde "Floating point division by zero" hatasını veriyor.
Bu konuda tecrübesi olan arkadaşlar bilgilerini paylaşırsa sevinirim.
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Floating point division by zero

Mesaj gönderen thelvaci »

Birkaç olasılık mevcut. Birincisi eğer Select işlemlerinde bu hatayı alıyor iseniz, bu durumda select ettiğiniz nesne bir view olabilir ve view'in içinde bölme işlemi gerçekleşiyor olabilir; yada UniQuery201 üzerinde Calculated bir field tanımlamış olabilirsiniz bu da bölme işlemi yapıyor olabilir, yada TDataSet türevi olan nesnenizin event'lerinde OnAfterScroll gibi, bölme işlemi ile ilgili bir kod olabilir.

Bunun dışında, eğer insert, update yada delete işlemleri yaparken bu hatayı alıyor iseniz, veritabanı tarafında bu işlemlere bağlı bir yada birden fazla trigger çalışıyor olabilir, yada yine TDataSet türevi olan nesnenizin çeşitli eventlerinde bazı kodlar yazmış olabilirsiniz. Kontrollerinizi bu noktalar üzerine yoğunlaştırabilirseniz sorununuzu aşabileceğinizi düşünüyorum.
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Floating point division by zero

Mesaj gönderen pasa_yasar »

- Önce belgeyi sildim sonra belgeye bağlı işlemleri hata vermedi çalıştı. Ama önemli olan sorunun nedeni.
- Bütün bağlantılarını kestim hesaplama alanlarını ama floating hatası veriyor. Temel nedeni henüz bulamadım.
Müsait bir zamanda tek tek tüm formlarda bağlantıları kontrol edip sorunun nedenini paylaşacam.
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Floating point division by zero

Mesaj gönderen pasa_yasar »

Sorun yazılımdan değil sql server 64 bitlerden kaynaklanıyormuş böyle bir yığın taşma hatası varmış
Cevapla