Çözemediğim Hata Mesajı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

Bir projemde dbEditlere girilen verileri Fom4deki dbGridde göstermek istiyorum Bu formda 3 tane alanım var ;
Tahsilat Açıklama, ve işlem tarihi , bu alanlara girilen verileri Form4 de ki dbGridde göstermek istiyorum bunun için şöyle bir kod yazdım ;

procedure TForm9.BitBtn1Click(Sender: TObject);
var s:string;
id,i:integer;
toplamborc:Double;
begin
//----------EN SON ID i al ve 1 arttır
s:='select max(ID) as ID from ORTAK_ALAN ';
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(s);
IBQuery1.Open;
IBQuery1.Last;
IBQuery1.First;
if IBQuery1.FieldByName('ID').AsString='' then
ID:= 1
else
ID:=IBQuery1.FieldByName('ID').AsInteger+1;
IBTable1.FieldByName('ID').AsInteger:=id;
IBTable1.FieldByName('MUSTERI_ID').AsString:=form4.IBTable2.FieldByName('ID').AsString; //form4teki ibtable2 deki id->müşteri_id dir
IBTable1.FieldByName('TARIH').AsDateTime:= RzDBDateTimePicker1.Date;
IBTable1.post;
//------------------------------------
//toplam borcu bulalım
toplamborc:=0;
s:='select * from ORTAK_ALAN where MUSTERI_ID='''+form4.IBTable2.FieldByName('ID').AsString+'''';
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(s);
IBQuery1.Open;
IBQuery1.Last;
IBQuery1.First;
for i:=0 to IBQuery1.RecordCount-1 do begin
toplamborc:=toplamborc+ IBQuery1.FieldByName('BORC_MIKTARI').AsFloat;
IBQuery1.Next;
end;
s:='update ORTAK_ALAN set TOPLAM_TAHSILAT='+floattostr(toplamborc)+' where MUSTERI_ID='''+form4.IBTable2.FieldByName('ID').AsString+'''';
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(s);
IBQuery1.ExecSQL;
form4.IBTable1.Refresh; //her eklenen kaydın anında dbgrid te gözükmesi için refresh yapılmalı
close;
end;

Verdiği hata mesjaı ise : is not a valid floating poin value yardımcı olursanız sevinirim..
Kullanıcı avatarı
dabaddah
Üye
Mesajlar: 167
Kayıt: 13 Mar 2008 04:42
Konum: istanbul

Re: Çözemediğim Hata Mesajı

Mesaj gönderen dabaddah »

dostum hata mesajı boş bir değer geldiğini ve dolayısıyla boş olduğu için bu değerin float bir içeriği olmadığını ve işlem yapamayacağını söylüyor

bu hatayı alman için müsait satırlar ilk gözüme çarpan

Kod: Tümünü seç

toplamborc:=toplamborc+ IBQuery1.FieldByName('BORC_MIKTARI').AsFloat;
burası
ve

Kod: Tümünü seç

s:='update ORTAK_ALAN set TOPLAM_TAHSILAT='+floattostr(toplamborc)+' where MUSTERI_ID='''+form4.IBTable2.FieldByName('ID').AsString+'''';
burası oldu

bu satırları açıklama satırı yapıp dene yada debug yap adım adım çalıştır.hatayı kesinlikle bulursun.

yani işlem yapmak istediğin float tipteki değerlerden biri boş bunu kontrol etmen lazım


iyi çalışmalar
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

toplamborc:=toplamborc+ IBQuery1.FieldByName('BORC_MIKTARI').AsFloat;

hocam çok tşk ederim hata veren staır burasıydı zaten çözmeye çalışacağım..
Kullanıcı avatarı
dabaddah
Üye
Mesajlar: 167
Kayıt: 13 Mar 2008 04:42
Konum: istanbul

Re: Çözemediğim Hata Mesajı

Mesaj gönderen dabaddah »

dostum eğer dediğin gibi debug yaptığın zaman o satırda hata verdiyse IBQuery1.FieldByName('BORC_MIKTARI').AsFloat; burdaki değer boş dönüyor.

ordaki değeri kontrol etmen lazım
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

hocam BORC_MIKTARI alanını tahsilat olarak değiştirdim ama yine aynı eğer sizin içinmahsuru yoksa uzzak yardım ile bağlanıp bakabilirmsiniz birde boşi dönüyor derken nasıl boş döndüğünü anlamadım ??
babyboy
Üye
Mesajlar: 31
Kayıt: 03 Eki 2010 11:29

Re: Çözemediğim Hata Mesajı

Mesaj gönderen babyboy »

Arkadshim bosh deyer donduruyor demek, yani SLQ sorgun bir rakam veremiyor sana
toplamborc:=toplamborc+ IBQuery1.FieldByName('BORC_MIKTARI').AsFloat;
IBQuery1.FieldByName('BORC_MIKTARI').AsFloat; yani burdan bir deyer alamiyor ve toplamborc degiskenine atayamiyor.

sen bu kodu kontrol altina al, bu problem bu gun benim de bashima geldi.. Mesela boyle kontrol altina ala bilirsin

Kod: Tümünü seç

if IBQuery1.FieldByName('BORC_MIKTARI').AsFloat=null then
begin
showmessage('Degr bulunamadi')
end
else
begin
yapilacak ishlemler;
end;

akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

bu kodu yazdım ama bu seferde başka bir yerde hata veriyor bir yeri yapsam bu sefer başka taraf açık kalıyor :( :(. ..
babyboy
Üye
Mesajlar: 31
Kayıt: 03 Eki 2010 11:29

Re: Çözemediğim Hata Mesajı

Mesaj gönderen babyboy »

Ne gibi hata veriyor, detaylı yaz, belki yardım ede bildim. Hata aşağıdakı koda göre ola bilir.

Kod: Tümünü seç

if IBQuery1.FieldByName('BORC_MIKTARI').AsFloat=null then
yerine aşağıdakını yaza bilirsin

Kod: Tümünü seç

if IBQuery1.FieldByName('BORC_MIKTARI').AsFloat<>0 then
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

IBTable TAHSLAT not found tahsılat alanı yok diyor :(
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

değer bulunamadı diyor ?
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

babyboy arkadaşında uzun uğraşlar sonucu sorunu çözmedik ve tekrar başa döndük. Şimdi bize şöyle bişey lazım
DBedit1 dbedit2 ve dbedit3
Açıklama ,tahsilat ve işlem tarihi adında 3 tane alanımız vra. Bunlara girilecek bilgi veri Form4 deki dbGridde görünecek ve Form4 deki Toplam tahsilat alanında yapılan tahsilatın toplamı tl şekşinde görünecek oaly bu.. bunu yapamaya çalışıyorum...
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Çözemediğim Hata Mesajı

Mesaj gönderen mkysoft »

alanını adını THSLT olarak değiştirdek sonra IBTable'ı yenilememiş olabilirsin. Fields kısmında alanları silerek, add all fields yap ve tekrar yüklenmelerini sağla yada boş olarak bırak.
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

THSLT ne oluyor anlamadım ??? ayrıca bizim ki vt ile alakalı bişey dğeil kod la alakalı ..
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Çözemediğim Hata Mesajı

Mesaj gönderen orhancc »

şuan hangi satırda ne hatası alıyorsun tam olarak ?
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: Çözemediğim Hata Mesajı

Mesaj gönderen akineton »

şu an bütün kodları sildim yapmak istediğim ise :

Bu projede tahsilata dında bir modül var Bu modülde ;
açıklama
tahsilat
işle tarihi
adında alanlarımız var. dbEdit bunlar
ŞİMDİ BUNLARA GİRİLEN veriyi form4 deki dbGridde göstecek ve vt ye kaydedecek. ve Yine bu form 4 de en altta toplam tahsilat dbEdit 6 da toplam tahsilatı göstecek ( örnek 1520000 tl ) gibi hepsi bu ....
Cevapla