kayıtlarda arama yapmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

kayıtlarda arama yapmak

Mesaj gönderen akineton »

yapmış olduğum projemde bir dbGrid ve bir adet koydum veritabanım firebird şimdi kullanıcı edite herhangibir isim yazdığında o ilgili kişi grridde en üste çıksın istiyorum bunun için şöyle bir kod yazdım ama olmadı ..

procedure TForm4.Edit1Change(Sender: TObject);
var s:string;
begin
if trim(Edit1.Text)<>'' then //arama
s:='select * from CARI where ADI Like'''+trim(Edit1.Text)+'%'' order by ADI'
else
s:='select * from CARI order by ADI';
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(s);
IBQuery1.Open;
IBQuery1.Last;
IBQuery1.First;
end;

// veritabanım firebird.

procedure TForm4.FormShow(Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('select * from CARI order by ADI');
IBQuery1.Open;
IBQuery1.Last;
IBQuery1.First;
end;
end.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: kayıtlarda arama yapmak

Mesaj gönderen orhancc »

hata mı alıyorsun yoksa istediğinden farklı mı sonuç alıyorsun ?
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: kayıtlarda arama yapmak

Mesaj gönderen akineton »

hiç bir sonuç almıyorum hiç bir değişiklik yok.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: kayıtlarda arama yapmak

Mesaj gönderen sabanakman »

İsteğiniz anlaşılıyor gibi ama yaşadığınız sorun ne hala anlaşılmıyor. Yaptığınız bu işlemler sonucunda yaşadığınız sorun ne bir de onu açıkça anlatın.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: kayıtlarda arama yapmak

Mesaj gönderen akineton »

hocam benim firebird vt ile yapmışş olduğum bir projem var. Bu projede dbGridde kayıtlar listeleniyor. Şimdi ben formu bir edt edit koydum ben istiyorum ki edite kaytlı birisini ismi adı yazılınca o kayıt en üste çıksın sadece o kalsın istiyorum olay bu....
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: kayıtlarda arama yapmak

Mesaj gönderen unicorn64 »

sadece adı yazılan kişinin görünmesini istiyorsan önce sorgudaki like yerine = kulanmalısın bence,
yoksa "AHMET" yazdığında adı "AHMET" olanların yanında "AHMET ALİ" yada "AHMET HAMDİ" olanlar da gelir...

ancak hala @sabanakman hocamın sorusuna cevap vermiş sayılmazsınız..
İsteğiniz anlaşılıyor gibi ama yaşadığınız sorun ne hala anlaşılmıyor. Yaptığınız bu işlemler sonucunda yaşadığınız sorun ne bir de onu açıkça anlatın.
tamam ne istediğinizi öğrendik de yaşadığınız sorun ne?
... ilgili kişi grridde en üste çıksın istiyorum bunun için şöyle bir kod yazdım ama olmadı ..
hiç bir sonuç almıyorum hiç bir değişiklik yok.
olmayan nedir? edite değer giriyorsunuz ama gridde listelenen kayıtlar mı değişmiyor?
Edit1Change i editin change eventine atadınız mı? Edit1Change e breakpoint koyup baktınız mı?


Not: aşağıdaki yazı imzamdır mesajla alakası yoktur, doğrudan size yada bir başkasına yönelik yazılmadı...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: kayıtlarda arama yapmak

Mesaj gönderen akineton »

sorun ş = edite ahmet girdiğim zaman ahmet adlı müşteri en üste gelmiyor yani nasıl alatayım hiç bir değişiklik olmuyor aranma yapmıyor daha ben nasıl analatyaım ???. yazdıpm kod bir işe yaramadı...
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: kayıtlarda arama yapmak

Mesaj gönderen sabanakman »

İyi günler. order by içinde case - when ile şarta bağlı değer kullanabilirsiniz. Mesela SQL Server için böyle bir sorgu gerekseydi örnekteki gibi bir sorgu işe yarayacaktır ama FB bu tür bir sorguyu çalıştırır mı bilmiyorum. Aslında veritabanları bu kodları genelde destekliyor ama örnek yapmadan cevap yazdığım için bu şekilde ifade etmekte fayda var :mrgreen:

Kod: Tümünü seç

IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('select * from CARI');
IBQuery1.SQL.Add('order by case when ADI='''+Edit1.Text+''' then 0 else 1 end, ADI');
IBQuery1.Open;
İyi çalışmalar.
En son sabanakman tarafından 10 Ara 2010 11:11 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Re: kayıtlarda arama yapmak

Mesaj gönderen gkimirti »

IBQuery1.Close;
IBQuery1.SQL.Add('select * from CARI');
IBQuery1.SQL.Add('where ADI like ''' +Edit1.Text+'%''');
IBQuery1.SQL.Add('order by ADI');
IBQuery1.Open;

edit1 in onchange olayında bu sorguyu çalıştırın.
ÜŞENME,ERTELEME,VAZGEÇME
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: kayıtlarda arama yapmak

Mesaj gönderen akineton »

ilginiz için çok tşk ederim hocalarım;
Şimdi saban akman hocamın verdği kod şu hata mesajını verdi :

[Error] Unit4.pas(217): ')' expected but identifier 'Edit1' found
[Error] Unit4.pas(217): Statement expected, but expression of type 'TCaption' found
[Fatal Error] Project2.dpr(23): Could not compile used unit 'Unit4.pas'

diğer admin hocamızın verdi kodda
edite isim yazdığım zaman : Dynamic SQL Error
SQL error kode : -104
Token Unknown - Line 2 clum 1 select hatsı verdi....
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: kayıtlarda arama yapmak

Mesaj gönderen sabanakman »

Artık yazım hatalarını da düzeltmek için biraz elinizi taşın altına koymanız gerekiyor.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: kayıtlarda arama yapmak

Mesaj gönderen akineton »

merde yzım hatası var ???
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Re: kayıtlarda arama yapmak

Mesaj gönderen gkimirti »

kardesim her şeyin cevabını hazır verirsek bir şey öğrenemezsin.
select ifadesine dikkatli bak
CARI den sonra bir boşluk olacak, aynı şey bir alt satır için.
Adam buraya yazmadan önce bir ShowMessage() yapıp bakar nerde hata var diye....
ÜŞENME,ERTELEME,VAZGEÇME
akineton
Üye
Mesajlar: 181
Kayıt: 22 Kas 2010 11:33

Re: kayıtlarda arama yapmak

Mesaj gönderen akineton »

tamam abicim neden kızıyon gözümüzden kaçmıştır..
Cevapla