Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Küsürlü alan listeleme
#1
Merhaba,

Sqllite Rati diye (VARCHAR) alanım var bu alanda bazı fiyatlar 1 veya 125,99 gibi küsürlü sayılarım var.
Örnek: 5 sayısına eşit veya büyük sayıları nasıl listeleye bilirim? aşağıda kod ile doğu sonuca bulamıyorum.

    
FDQ.Active := False;
    FDQ.Close;
    FDQ.SQL.Clear;
    FDQ.SQL.Add('Select * From URUNLER Where Rati>=:Rati Order By Id Asc'); // Listeleme
    FDQ.ParamByName('Rati').AsFloat := 5;
    FDQ.Prepared := True;
    FDQ.Open;
    Label1.Text :=FDQ.FieldByName('ID').AsFloat.ToString;
Cevapla
#2
(20-10-2022, Saat: 12:45)Altıner Adlı Kullanıcıdan Alıntı: Merhaba,

Sqllite Rati diye (VARCHAR) alanım var bu alanda bazı fiyatlar 1 veya 125,99 gibi küsürlü sayılarım var.
Örnek: 5 sayısına eşit veya büyük sayıları nasıl listeleye bilirim? aşağıda kod ile  doğu sonuca bulamıyorum.

    
FDQ.Active := False;
    FDQ.Close;
    FDQ.SQL.Clear;
    FDQ.SQL.Add('Select * From URUNLER Where Rati>=:Rati Order By Id Asc'); // Listeleme
    FDQ.ParamByName('Rati').AsFloat := 5;
    FDQ.Prepared := True;
    FDQ.Open;
    Label1.Text :=FDQ.FieldByName('ID').AsFloat.ToString;

Merhabalar,

Öncelikle VarChar alanınızı float olarak dönüştürmeniz sonrasında işlemleri yapmanız gerekli.

Test etme imkanım olmadı.

Select * From URUNLER Where CAST(Rait as decimal)>=:Rati Order By Id Asc;'

Sayısasl alanlar için imkanınız var ise VarChar kullanmayın.
INT/Double/Flaot vs. kullanmanızı öneririm.


Kolay gelsin
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#3
(20-10-2022, Saat: 13:23)hi_selamlar Adlı Kullanıcıdan Alıntı:
(20-10-2022, Saat: 12:45)Altıner Adlı Kullanıcıdan Alıntı: Merhaba,

Sqllite Rati diye (VARCHAR) alanım var bu alanda bazı fiyatlar 1 veya 125,99 gibi küsürlü sayılarım var.
Örnek: 5 sayısına eşit veya büyük sayıları nasıl listeleye bilirim? aşağıda kod ile  doğu sonuca bulamıyorum.

    
FDQ.Active := False;
    FDQ.Close;
    FDQ.SQL.Clear;
    FDQ.SQL.Add('Select * From URUNLER Where Rati>=:Rati Order By Id Asc'); // Listeleme
    FDQ.ParamByName('Rati').AsFloat := 5;
    FDQ.Prepared := True;
    FDQ.Open;
    Label1.Text :=FDQ.FieldByName('ID').AsFloat.ToString;

Merhabalar,

Öncelikle VarChar alanınızı float olarak dönüştürmeniz sonrasında işlemleri yapmanız gerekli.

Test etme imkanım olmadı.

Select * From URUNLER Where CAST(Rait as decimal)>=:Rati Order By Id Asc;'

Sayısasl alanlar için imkanınız var ise VarChar kullanmayın.
INT/Double/Flaot vs. kullanmanızı öneririm.


Kolay gelsin


SQLITE database uygulamasında INTEGER, REAL, TEXT ve BLOB veri tipleri vardır. Bu yüzden ondalıklı sayılarda REAL kullanılabilir.
Cevapla
#4
Teşekkür ederim.
Cevapla
#5
SQLite ufak tefek gözden kaçanlar konusunda hata vermeyip, yanıltıcı sonuçlar üretiyor.
ondalıklı sayılar için Real kullanman gerekiyor. Ben tarih konusunda çok uraşmıştım YYYY-MM-DD
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Sadece Son Kayıtları Listeleme gonulali 4 1.763 09-05-2023, Saat: 17:01
Son Yorum: gonulali
  İziBiz eFatura Listeleme MuhammedYasir 11 5.653 30-03-2023, Saat: 11:19
Son Yorum: enigma
  Comboboxlarda il ve ilçe listeleme senihergordugumde 5 2.279 03-03-2023, Saat: 14:29
Son Yorum: sabanakman
  Database boş alan silme Altıner 4 1.775 07-10-2022, Saat: 20:40
Son Yorum: mcuyan
  tabloda yeni alan ekleyince data kaydetmiyor sadikacar60 5 2.390 17-06-2022, Saat: 08:27
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi