parasal alan kaydı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
parasal alan kaydı
merhaba
edit içerisinde 279,57 gibi bir sayı var.
database sql ve field money olarak tanımlı.
edit içerisindeki rakamı field a kaydettiğimde 27957,00 olarak gözüküyor.
Neden anlayamadım hala yardımcı olabılırmısınız.
edit içerisinde 279,57 gibi bir sayı var.
database sql ve field money olarak tanımlı.
edit içerisindeki rakamı field a kaydettiğimde 27957,00 olarak gözüküyor.
Neden anlayamadım hala yardımcı olabılırmısınız.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
Re: parasal alan kaydı
Ne kullanarak kaydediyorsunuz? Doğudan SQL kullanarak mı? 279,57 yerine 279.57 denediniz mi?
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
Re: parasal alan kaydı
merhaba o şekilde denemedim virgülü zaten kendiisi atıyor.
sql sorgu ile kayıt yapıyorum.
sql sorgu ile kayıt yapıyorum.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
Re: parasal alan kaydı
Kod: Tümünü seç
sql sorgu ile kayıt yapıyorum.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
Re: parasal alan kaydı
pardon:)
QryPost.SQL.Text:='insert into Tbl_Odemeler (KartNo,Adi,Soyadi,Departman,BasTarih,BitTarih,Odeme) Values ('
+ #39 + edit4.Text +#39 +','+ #39 + edit5.Text +#39 +','+ #39 + edit6.Text +#39 +','+ #39 + edit7.Text +#39 +
','+ #39 + edit8.Text +#39 +','+ #39 + edit9.Text +#39 +
','+ #39 + edit2.text +#39 +')';
edit2 içerisindeki rakamı Odeme alanına kaydediyorum.
edit2 icerisindeki rakamlar 279,57 yada buna benzer rakamlar oluyor ama field type money iken 27957,000 bu şekilde oluyor alan tipini char yada varchar yaprsam isedigim şekilde kayıt oluyor fakat bu seferde alan toplaması yapmak istedigimde sum kullanırken sıkıntıoluyor.Yada cxgrid kullanmak istedşgşmde alan toplamasında yine hata veriyor.
QryPost.SQL.Text:='insert into Tbl_Odemeler (KartNo,Adi,Soyadi,Departman,BasTarih,BitTarih,Odeme) Values ('
+ #39 + edit4.Text +#39 +','+ #39 + edit5.Text +#39 +','+ #39 + edit6.Text +#39 +','+ #39 + edit7.Text +#39 +
','+ #39 + edit8.Text +#39 +','+ #39 + edit9.Text +#39 +
','+ #39 + edit2.text +#39 +')';
edit2 içerisindeki rakamı Odeme alanına kaydediyorum.
edit2 icerisindeki rakamlar 279,57 yada buna benzer rakamlar oluyor ama field type money iken 27957,000 bu şekilde oluyor alan tipini char yada varchar yaprsam isedigim şekilde kayıt oluyor fakat bu seferde alan toplaması yapmak istedigimde sum kullanırken sıkıntıoluyor.Yada cxgrid kullanmak istedşgşmde alan toplamasında yine hata veriyor.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
Re: parasal alan kaydı
s.a.
programlar varsayılan olarak bilgisayardaki ayarlara göre çalışırlar.bilgisayarın bölgesel ayarlarını kontorl edin bakalım ondalık simgesi "," mi yoksa "." mi.
kolay gelsin.
programlar varsayılan olarak bilgisayardaki ayarlara göre çalışırlar.bilgisayarın bölgesel ayarlarını kontorl edin bakalım ondalık simgesi "," mi yoksa "." mi.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
Re: parasal alan kaydı
sayın hocam cok teşekkür ederim ondalık kısmı "." olarak ayarlayınca duzeldi.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
Re: parasal alan kaydı
Böyle program yaparsanız program bir çalışır bir hata verir, sonra verem olursunuz. Çünkü prensip olarak kullanıcıyı windowsun bölgesel ayarlarını belirli bir ayara getirmeye zorlamamalısınız.
Seni verem olmaktan kurtarayım.
Aslında bu kod da güvenli değil. Böyle bir işlemde sorgu parametreleri kullanmalısınız.
Örneği kısa yazıyorum:
Bu daha güvenli bir yöntem. Ama ben şahsen okunması ve bakımı daha kolay olduğu için aşağıdaki yöntemi tercih ederim.
Bu arada bir ifadeyi tırnak arasına almak için 39 + Edit1.Text + 39 yerine QuotedStr(Edit1.Text) kullanın. Çünkü eğer Edit1.Text içerisinde tek tırnak işareti varsa sizin ilk yazdığınız kod hata verecektir. Üstelik bunu bilen biri bilerek Edit1.text içerisinde bilerek tırnak işareti kullanarak programın hata vermesini sağlayabilir. Hatta Edit1.Text içerisine uygun şekilde istediği SQL komutlarını yazıp veritabanınıza zarar verebilir. Buna SQL injection saldırısı denir. Halbuki 2. ve 3. kullanımda bu tehlike yoktur. Yoruldum.
Seni verem olmaktan kurtarayım.
Kod: Tümünü seç
DecimalSeparator := ',';
QryPost.SQL.Text:='insert into Tbl_Odemeler (KartNo,Adi,Soyadi,Departman,BasTarih,BitTarih,Odeme) Values ('
+ #39 + edit4.Text +#39 +','+ #39 + edit5.Text +#39 +','+ #39 + edit6.Text +#39 +','+ #39 + edit7.Text +#39 +
','+ #39 + edit8.Text +#39 +','+ #39 + edit9.Text +#39 +
','+ #39 + edit2.text +#39 +')';
QueryPost.ExecSQL;
DecimalSeparator := '.';
Örneği kısa yazıyorum:
Kod: Tümünü seç
QryPost.SQL.Text:='insert into Tbl_Odemeler (KartNo, Adi, Soyadi, Odeme) Values (:KARTNO, :ADI, :SOYADI, :ODEME)';
QryPost.Parameters.ParamByName('KARTNO').Value := Edit4.Text;
QryPost.Parameters.ParamByName('ADI').Value := Edit4.Text;
QryPost.Parameters.ParamByName('SOYADI').Value := Edit5.Text;
QryPost.Parameters.ParamByName('ODEME').Value := StrToFloat(Edit2.Text);
QueryPost.ExecSQL;
Kod: Tümünü seç
QryPost.SQL.Text:= ' select * from Tbl_Odemeler where KartNo = ' + QuotedStr('XYZ');
QueryPost.Open;
QueryPost.Insert;
QryPost.FieldByName('KARTNO').AsString := Edit4.Text;
QryPost.FieldByName('ADI').AsString := Edit4.Text;
QryPost.FieldByName('SOYADI').AsString := Edit5.Text;
QryPost.FieldByName('ODEME').AsFloat := StrToFloat(Edit2.Text);
QueryPost.Post;
QueryPost.Close;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- Ahmet ALTUNTAŞ
- Üye
- Mesajlar: 94
- Kayıt: 10 Tem 2010 08:05
- Konum: TEKİRDAĞ
Re: parasal alan kaydı
değerli bilgiler için çok teşekkür ederim.
Yazdıklarının hepsini kesinlikle uygulayacagım.
Yazdıklarının hepsini kesinlikle uygulayacagım.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!
MCP - MCTS
MCSA+S - MCSE+S
Başarı Bir Yolculuktur, Varış Noktası Değil...!