interbasede filtrelemede harf duyarlılığı olasın istiyorum ister küçük harf olsun isterse büyük harf olsada bulmasını istiyorum bunu nasıl yapabilirim
IBTable1.FilterOptions:=[foCaseInsensitive];
bu kodu denedim hata verdi
interbasede filtrelemede harf duyarlılığı
-
- Üye
- Mesajlar: 99
- Kayıt: 24 Tem 2004 05:13
- Konum: kayseri
- İletişim:
Bu mesajı "Firebird" forum alanına bıraksanız daha uygun olurdu sanırım.
Aldığınız hata mesajını yazsanız daha kolay yardımcı olabilirdik.
Ben denediğimde bu özelliğin desteklenmediğine dair bir mesaj aldım. Hoş desteklenseydide İ, ı harflerinde sorun çıkartırdı.
Aslında TIBTable daha çok BDE den Interbase uygulamasını taşımak isteyen geliştiriciler için düşünülmüş bir bileşen. TIBDataSet kullanmak en uygunu olur diye düşünüyorum. Filtre yerine sorgu kullanırsınız. Zaten yazdığınız filtrede delphi tarafından sorguya çevriliyor.
Gelgelelim soruna; Bu klasik bir tekniktir,
girilen değeri büyük (yada küçük) harfe çevirirsiniz, veritabanında karşılaştırma yapacağınız alanına aynı şekilde büyük (yada küçük) harfe çevirirsiniz.
gibi bir select ifadesi yazılabilir. Burdaki sorun Firebird ve Delphi de ki dönüşüm fonksiyonların Türkçe karekterlerde sorun çıkartıyor olması.
Bununla ilgili çözüm UDF kullanmak ama uzun konu UDF hakkında forumda yeterince bilgi var AnsiUpperCaseTR fonksiyonuda var iki bilgiyi birleştirerek çözüm üretilebilir.
Kolay gelsin
Aldığınız hata mesajını yazsanız daha kolay yardımcı olabilirdik.
Ben denediğimde bu özelliğin desteklenmediğine dair bir mesaj aldım. Hoş desteklenseydide İ, ı harflerinde sorun çıkartırdı.
Aslında TIBTable daha çok BDE den Interbase uygulamasını taşımak isteyen geliştiriciler için düşünülmüş bir bileşen. TIBDataSet kullanmak en uygunu olur diye düşünüyorum. Filtre yerine sorgu kullanırsınız. Zaten yazdığınız filtrede delphi tarafından sorguya çevriliyor.
Gelgelelim soruna; Bu klasik bir tekniktir,
girilen değeri büyük (yada küçük) harfe çevirirsiniz, veritabanında karşılaştırma yapacağınız alanına aynı şekilde büyük (yada küçük) harfe çevirirsiniz.
Kod: Tümünü seç
Select * from mytable where Upper(myfield1) = Upper(:userdata)
Bununla ilgili çözüm UDF kullanmak ama uzun konu UDF hakkında forumda yeterince bilgi var AnsiUpperCaseTR fonksiyonuda var iki bilgiyi birleştirerek çözüm üretilebilir.
Kolay gelsin
Merhaba,
Sanırım sizin kullandığınız şekil de harf duyarlı yapıyor. Yani sizin onu kullanmamanız lazım. Şimdi sıfır veremediğimize göre başka bir çözüme gideceğiz.
@poshet303 arkadaşımızın yolundan gideceğiz.
Filter kısmına aşağıdakini yazarsanız.
ve ibtable ın filtered özelliğini true yaparsanız. Kayıtlarınızda
OZGUR ve
ozgur olanların her ikisini de size gösterir.
Kolay gelsin.
Bu değer sıfır girilebilir denmiş ama 0 a izin vermiyor.Delphi Help yazdı: TFilterOptions is a set that specifies how filter expressions are applied to string fields. It can contain zero or more of the following values:
Value Meaning
------- --------------------------------------------------------------------
foCaseInsensitive Literal strings in the filter are compared to string-valued fields case-insensitively.
foNoPartialCompare Asterisks (*) in the filter are treated as literal characters rather than as wildcards. When filter options does not include foNoPartialCompare, strings that end in an asterisk signify a partial string match with the asterisk matching any number of characters.
Sanırım sizin kullandığınız şekil de harf duyarlı yapıyor. Yani sizin onu kullanmamanız lazım. Şimdi sıfır veremediğimize göre başka bir çözüme gideceğiz.
@poshet303 arkadaşımızın yolundan gideceğiz.
Filter kısmına aşağıdakini yazarsanız.
Kod: Tümünü seç
upper(FUNVANI) collate pxw_turk LIKE upper('o%') collate pxw_turk
OZGUR ve
ozgur olanların her ikisini de size gösterir.
delphi nin içinde yaptıklarımız programlama kısmına delphi içinde yapmadıklarımız ise ilgili yere sorulur. Dolayısıyla uygun yer programlama forumudur. Adminlerimiz böyle demişti.poshet303 yazdı: Bu mesajı "Firebird" forum alanına bıraksanız daha uygun olurdu sanırım.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis
Re: interbasede filtrelemede harf duyarlılığı
Merhaba,
Önceki sonraki mesajları görmek için thread kısmına basabilirsiniz.
http://216.101.185.148/scripts/isapi.dl ... le=3111016
Kolay gelsin.
Aşağıdaki linkte de bir arkadaş da sormuş. Bu linkte cevap veren desteklenmediğini söylüyor. Sonraki mesajında ise tibquery veya tibdataset türü bir bileşen kullanıp uygun sql deyimi ile almasını söylemiş.delphikursu yazdı: IBTable1.FilterOptions:=[foCaseInsensitive];
bu kodu denedim hata verdi
Önceki sonraki mesajları görmek için thread kısmına basabilirsiniz.
http://216.101.185.148/scripts/isapi.dl ... le=3111016
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Logo Go özel eğitim, web tasarım, teknik servis