{
procedure TForm4.Edit1Change(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select *from vadelert');
Query1.SQL.Add('where '+arama+' like "' + edit1.Text + '%" ');
Query1.Open;
end;
}
Yukarıdaki kodda vadelert bir tablo, arama string tipinde tablodaki bir alanın ismi ben bu
kodu edit1 in chance 'ine koyduğum için her tuşa basıldığında arama yaparak soruçları getiriyor.
Ama bazı arkadaşlarım aranacak tüm stringi alıp enter tuşuna basılnca arama yapıyor. Benim
yaptığımda her harften sonra yapıldığından kişi örneğin birinin soyadını tam hatırlamıyorsa
yada yarısını bile hatırlasa sonuca ulaşıyor. ve zaman kaybı olmuyor. Görsel olarak ta fena
değil ancak her gülün bir dikeni vardır ya, ben burda dikeni göremiyorum ama içimden bir his
bir diken var diyor. Benim yazdığım kodun dezavantajlarını bana kısaca anlatabilirseniz
teşekkür ederim. İyi çalışmalar. Hayırlı Cumalar.
Hangisi daha iyi?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Merhaba,
bence de Enter'a basınca araması daha iyi.
Sizinkinin dikeni her tuşa basılınca çalışması. Yani ben Mustafa ismini arayacaksam tam 7 sefer çalışıyor. Bu büyük tablolarda çok yavaşlamaya neden olur. Diğer türlü Mustafa yazıp Enter'a bastığım zaman hem kod bir kere çalışacak, hem de daha az kayıt döndüğü için çok daha hızlı olacak.
Ben arayacağım kişinin isminin M ile başladığını biliyor, diğer kısmını bilmiyorsam, M yazıp Enter'a basarım. M ile başlayanlar gelir. Yani bu yapıda da istediğiniz faydayı sağlarsınız.
Ne kadar az kayıt o kadar iyi. Hatta bu tip durumlarda kullanıcılara diretmelisiniz. En az bir harf yazsın, öyle kayıt döndürün.
Kolay gelsin.
bence de Enter'a basınca araması daha iyi.
Sizinkinin dikeni her tuşa basılınca çalışması. Yani ben Mustafa ismini arayacaksam tam 7 sefer çalışıyor. Bu büyük tablolarda çok yavaşlamaya neden olur. Diğer türlü Mustafa yazıp Enter'a bastığım zaman hem kod bir kere çalışacak, hem de daha az kayıt döndüğü için çok daha hızlı olacak.
Ben arayacağım kişinin isminin M ile başladığını biliyor, diğer kısmını bilmiyorsam, M yazıp Enter'a basarım. M ile başlayanlar gelir. Yani bu yapıda da istediğiniz faydayı sağlarsınız.
Ne kadar az kayıt o kadar iyi. Hatta bu tip durumlarda kullanıcılara diretmelisiniz. En az bir harf yazsın, öyle kayıt döndürün.
Kolay gelsin.
Neden locate kullanmıyorsunuz? sonuçta tablo içinde o field üzerinde bulduracaksınız.
Gerçi bu perormans kaybına sebep olur. Yani OnChange her basılan tuşta tetiklenecek.
Şunu deneyebilirsin. Bir Timerla yazım işlemi yapıldığı sürece Query yi tetikletmezsin. ozaman performans sağlanır.
Kolay gele
Gerçi bu perormans kaybına sebep olur. Yani OnChange her basılan tuşta tetiklenecek.
Şunu deneyebilirsin. Bir Timerla yazım işlemi yapıldığı sürece Query yi tetikletmezsin. ozaman performans sağlanır.
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
- mehmet_turecan_cakmak
- Üye
- Mesajlar: 132
- Kayıt: 02 Tem 2003 01:08
- Konum: Afyon
- İletişim:
arama
bede mustafa haamın dediğine katılıyorum neden deresin locate ile kayıt bulmak daha hızlısıt tabi kayıtlı kişinin bilgilerini tam biliyorsanız ama sql d öyle bir sorun yok dediğiniz gibi kayıtlı kişinin adını yarım hatırlıyorsanız bile bulursunuz ama dezavantajı aramayı yavaşlatıyor bilmem ama be tabi enter tuşunu kullanmıyorum o ayrı bişey
iyi çalışmalar...
iyi çalışmalar...
Teşekkür ederim
Sorgum için yaptığınız değerli yorumlarınızdan dolayı çok teşekkür ederim
çok sağolun
çok sağolun