IBDataSet1.SelectSQL.Add('Update TEKLIF set ISKONTO='''+Edit60.Text+''',YEKUN='''+Edit61.Text+''',MARJ='''+Edit64.Text+''',MARJORAN='''+Edit66.Text+''','+
'GTOPMKARE='''+Edit48.Text''',ISZFIYAT='''+Edit59.Text+''',AMBORAN='''+Edit53.Text+''',NAKORAN='''+Edit52.Text+''',ODEME='''+Label64.Caption+''',TERMIN='''+DateToStr(DateTimePicker2.Date)+''' where TEKNO ='''+Edit32.Text+'''');
IBDataSet1.ExecSQL;
Form1.IBTransaction1.CommitRetaining;
Burada edit48.text yazdığım zaman bu editin içerisindeki 25,15 olam metrekare değerini veritabanına 2515 olarak kaydediyor.bunu nasıl 25,15 olarak kaydettirebilirim...
IBDataSet1.ModifiySQL.Add('Update TEKLIF set ISKONTO='''+Edit60.Text+''',YEKUN='''+Edit61.Text+''',MARJ='''+Edit64.Text+''',MARJORAN='''+Edit66.Text+''','+
'GTOPMKARE='''+strtofloat(Edit48.Text)''',ISZFIYAT='''+Edit59.Text+''',AMBORAN='''+Edit53.Text+''',NAKORAN='''+Edit52.Text+''',ODEME='''+Label64.Caption+''',TERMIN='''+DateToStr(DateTimePicker2.Date)+''' where TEKNO ='''+Edit32.Text+'''');
IBDataSet1.ExecSQL;
Form1.IBTransaction1.CommitRetaining;
2- ilgili alan ondalık değer strtofloat la çevirmelisin....
Kolay Gelsin...
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez. Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ilgili fieldin tipini yazarsan sorunun daha kısada çözülür gibi görünüyor.. ben yazmış olduğun 25,15 değerini baz alarak fieldin ondalık olduğunu varsayarak o kodu yazdım. field integer, smallint veya bigint olması durumunda bu alana 25,15 değerini giremezsin aksi halde type hatası alırsın....
bu değeri girebilmek için ilgili fieldi Numeric 15,2 (size = 15 scale = 2) veya Double yapmalısın....
En son kadirkurtoglu tarafından 17 Oca 2006 08:32 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez. Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
veritabanına virgülsüz yazması tablondaki alanın float veya virgüllü değer girilebilen alan olmadığını gösteriyor gibi.
tablondaki alanı float yapmalısın ki virgüllü girsin artı birde edit.text i strtofloat olarak çevirmen gerekiyor.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.
IBDataSet1.Close;
IBDataSet1.SelectSQL.Clear;
IBDataSet1.SelectSQL.Add('Update TEKLIF set ISKONTO=:ISKONTO,YEKUN=:YEKUN,MARJ=:MARJ,MARJORAN=:MARJORAN,'+
'GTOPMKARE=:GENEL,ISZFIYAT=:ISZFIYAT,AMBORAN=:AMBORAN,NAKORAN=:NAKORAN,ODEME=:ODEME,TERMIN=:TERMIN where TEKNO ='''+Edit32.Text+'''');
IBDataSet1.ParamByName('ISKONTO').AsFloat:=StrToFloat(Edit60.Text);
IBDataSet1.ParamByName('MARJ').AsFloat:=StrToFloat(Edit64.Text);
IBDataSet1.ParamByName('MARJORAN').AsFloat:=StrToFloat(Edit66.Text);
IBDataSet1.ParamByName('AMBORAN').AsFloat:=StrToFloat(Edit53.Text);
IBDataSet1.ParamByName('NAKORAN').AsFloat:=StrToFloat(Edit54.Text);
IBDataSet1.ParamByName('ODEME').AsString:=Label64.Caption;
IBDataSet1.ParamByName('TERMIN').AsDate:=DateTimePicker2.Date;
...........................................
...........................................
IBDataSet1.ExecSQL;
Form1.IBTransaction1.CommitRetaining;
float olan bir alanı yazdırırken Edit59.Text:=FormatFloat('#,##,0.00',(IBQuery3YEKUN.AsFloat)); olarak yazdırdım..Ancak şimdi bu değeri update ederek kaydetmek isityorum.ama 12354,50 not float diyor vehata veriyor.bunu float olarak tekrara nasıl kaydedebilirim..
formda gösterirken formatfloat ile edit içindeki sayıyı virgüllü olarak gösterebiliyorsun ama sonuçta edit içindeki veri string değerde oluyor. bu yüzden insert veya benzeri işlem yaparken edit59.text i strtofloat olarak çevirmen gerekiyor olarak düşünüyorum.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.
IBDataSet1.SelectSQL.Add('Update TEKLIF set ISKONTO=:ISKONTO,YEKUN=:YEK,MARJ=:MARJ,MARJORAN=:MARJORAN,'+
'GTOPMKARE=:GENEL................ where TEKNO ='''+Edit32.Text+'''');
IBDataSet1.ParamByName('GENEL').AsFloat:=StrToFloat(Edit59.Text);
update ederken edit59.text içerisindeki değeri strtofloat yaparak update ediyorum ama formatfloat yaparak gösterdiğim 1543,35 değerini not formar float diyerek update etmiyor.