Mysql kayıt

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bkantur
Üye
Mesajlar: 47
Kayıt: 23 Kas 2013 04:45
Konum: Balıkesir

Mysql kayıt

Mesaj gönderen bkantur »

İyi akşamlar. Aşağıdaki kod ile 1,00 - 2,00 - 3,00 sorunsuz kayıt oluyor ama 1,25 - 1,50 gibi küsüratlı girdiğim zaman kaydetmek yerine daha önce kaydedilmiş diyor hatam nerede acaba yardımcı olabilirmisiniz?

Kod: Tümünü seç

procedure TForm1.hizmetekleBTNClick(Sender: TObject);
begin
  if (Trim(komisyonTutarED.text)<>'') then
    begin
      With hizmetQRY do
      begin
        close;
        sql.clear;
        sql.add('select * from hizmet_bedelleri where tutar='''+ komisyonTutarED.text +'''');
        Active:=true;
        Open;
	      if Not IsEmpty then
	        begin
            MyMessageDlg( 'Daha önce kaydedilmiş...', mtCustom, [mbOk], ['Tamam'] );
            komisyonTutarED.SetFocus;
	        end
        else
          begin
            With hizmetQRY do
            begin
              close;
              sql.clear;
              sql.add('INSERT INTO hizmet_bedelleri (tutar) VALUES (:xtutar)');
              Params.ParamByName('xtutar').value := strtofloat(komisyonTutarED.text);
              execsql;
            end;
            hizmet_bedeli;
            komisyonTutarED.text:='';
          end;
      end;
     end
  else
    begin
      MyMessageDlg( 'Lütfen Bilgileri Kontrol Ediniz...', mtCustom, [mbOk], ['Tamam'] );
      komisyonTutarED.SetFocus;
    end;
end;
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Mysql kayıt

Mesaj gönderen mkysoft »

Muhtemelen sorgunuzdaki nokta/virgül probleminden kaynaklanıyor.

Kod: Tümünü seç

sql.add('select * from hizmet_bedelleri where tutar='''+ komisyonTutarED.text +'''');
Bu şekilde direk eklemek isterseniz virgülü noktaya çevirmelisiniz.
Sağlıklı olan insert'de yaptığınız gibi parametre olarak eklemeniz. İşletim sistemindeki ayarlara göre nokta/virgül farklı kullanılabiliyor.
Cevapla