Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Order By kullanımı
#1
Hayırlı günler,

Database listeleme yaparken sıra numarasına göre çıkan sonuçları göstermek istiyorum. Naçizane bir yerde takıldım kaldım.
Order By SIRANO kodunu nereye entegre edeceğimi çözemedim, sanırım bu günün vermiş olduğu yorgunluktan kaynaklanıyor.
Yardımınızı rica ederim delphican dostlarından


  
  xFDQ.Close;
    xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=' + QuotedStr(ComboBoxIcerik.Text));
   xFDQ.SQL.Add('AND(ADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or SOYADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or YAS Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or KILO Like ' + QuotedStr('%' + EditSearch.Text + '%'));

    //  xFDQ.SQL.Add(' Order By SIRANO Asc');

    xFDQ.SQL.Add(')');
    xFDQ.Prepared := True;
    xFDQ.Open;

Cevapla
#2
(03-02-2019, Saat: 01:26)Yeliz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Hayırlı günler,

Database listeleme yaparken sıra numarasına göre çıkan sonuçları göstermek istiyorum. Naçizane bir yerde takıldım kaldım.
Order By SIRANO kodunu nereye entegre edeceğimi çözemedim, sanırım bu günün vermiş olduğu yorgunluktan kaynaklanıyor.
Yardımınızı rica ederim delphican dostlarından


  
  xFDQ.Close;
    xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=' + QuotedStr(ComboBoxIcerik.Text));
   xFDQ.SQL.Add('AND(ADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or SOYADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or YAS Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or KILO Like ' + QuotedStr('%' + EditSearch.Text + '%'));

    //  xFDQ.SQL.Add(' Order By SIRANO Asc');

    xFDQ.SQL.Add(')');
    xFDQ.Prepared := True;
    xFDQ.Open;

Deneme imkanın olma ama genel kural
SELECT [alanlar] WHERE [şartlar] ORDER BY [sıralama alanı] ASC/DESC
personel tablosunda SIRANO olması durumunda aşağıdaki kod çalışmalı

xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=' + QuotedStr(ComboBoxIcerik.Text));
   xFDQ.SQL.Add('AND(ADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or SOYADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or YAS Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or KILO Like ' + QuotedStr('%' + EditSearch.Text + '% Order By SIRANO Asc '));

   //  xFDQ.SQL.Add(' Order By SIRANO Asc');

   xFDQ.SQL.Add(')');
   xFDQ.Prepared := True;
   xFDQ.Open;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#3
Aslında doğru yerde duruyor yorum satırını açın çalışacaktır, 

ancak sql cümleleri içerisinde edittext vs kullanmamaya çalışın bu kötü bir alışkanlık Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız., aşağıdaki örneği inceleyin bu kullanıma alıştırın kendinizi.

     
     MyQuery2.Close;
     MyQuery2.SQL.Clear;      
     MyQuery2.SQL.Add('INSERT INTO channel (Cname) Values (:cname);');
     MyQuery2.ParamByName('cname').AsString  := 'ebele hübele';
     MyQuery2.Execute;


hatta ban kalırsa doğrudan stored procedure ile çalışın, uygulama yazıyorsanız daha güvenli olaaktır ödev yapıyorsanız tam not alırsınız bence Wink
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#4
Naçizane tecrübem yettiği kadar tavsiyeniz doğrultusunda ilerliyorum, kodlar hata vermiyor fakat listelemede gerçekleşmiyor.
Nerede hata yapıyorum acaba?

    xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=:CON AND ADI Like :AD');
    xFDQ.ParamByName('CON').AsString := QuotedStr(ComboBoxIcerik.Text);
    xFDQ.ParamByName('AD').Value := QuotedStr('%' + EditSearch.Text + '%');
    xFDQ.Prepared := True;
Cevapla
#5
(03-02-2019, Saat: 11:47)Yeliz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Naçizane tecrübem yettiği kadar tavsiyeniz doğrultusunda ilerliyorum, kodlar hata vermiyor fakat listelemede gerçekleşmiyor.
Nerede hata yapıyorum acaba?

    xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=:CON AND ADI Like :AD');
    xFDQ.ParamByName('CON').AsString := QuotedStr(ComboBoxIcerik.Text);
    xFDQ.ParamByName('AD').Value := QuotedStr('%' + EditSearch.Text + '%');
    xFDQ.Prepared := True;



Örnek benim tablomda bu şekilde veriler var ,

   


  with DQuery do
 begin
   Close;
   Sql.Clear;
   sql.Add('select videos.watch , videos.name from videos WHERE videos.name LIKE :search');
   ParamByName('search').AsString := '%'+Edit1.Text+'%';
   Open;
 end;

bu kullanımda aşağıdaki sonucu alabiliyorum.

   

veya kendine bir sp yazarsın bu şekilde,

CREATE DEFINER=`root`@`localhost` PROCEDURE `VideoAra`(Param varchar(20))
BEGIN
 select videos.watch , videos.name from videos WHERE videos.name LIKE Param;
END;

delphi tarafıda da bu şekilde kullanırsın. delphide hem daha az kod yazmış olursun hemde değişiklik gerektiğinde delphiden değilde sql içerisinden spde değişiklik yaparak günü kurtarırsın.
  with DQuery do
  begin
   Close;
   Sql.Clear;
   sql.Add('call VideoAra(:search)');
   ParamByName('search').AsString := '%'+Edit1.Text+'%';
   Open;
 end;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#6
@Yeliz 

Prepared edilince parametreler set edilir.

Open veya Active := True gibi erişime yol vermelisiniz.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#7
@Yeliz
SQL i QuotedStr ile birleştireceğinize parametre kullanarak SQL'iniz yazarsanız daha az karışık görünecektir cimleciğiniz ve hatanızı daha rahat görebileceksiniz.. Bende eskiden Qs kullanıyordum fakat parametrelere geçtikten sonra SQL hatamı daha iyi trace edip debug etmeyi ve hatamı daha çabuk görmeyi öğrendim..

 ib1.SQL.Text := ' Select * from kasa_goster where (sattarihi between :tar1 and :tar2);';
 ib1.ParamByName('tar1').AsDate := mc.Date;
ib1.ParamByName('tar2').AsDate := mc.Date;
ib1.Prepare;
ib1.Open;
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#8
(03-02-2019, Saat: 01:26)Yeliz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Hayırlı günler,

Database listeleme yaparken sıra numarasına göre çıkan sonuçları göstermek istiyorum. Naçizane bir yerde takıldım kaldım.
Order By SIRANO kodunu nereye entegre edeceğimi çözemedim, sanırım bu günün vermiş olduğu yorgunluktan kaynaklanıyor.
Yardımınızı rica ederim delphican dostlarından


  
  xFDQ.Close;
    xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=' + QuotedStr(ComboBoxIcerik.Text));
   xFDQ.SQL.Add('AND(ADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or SOYADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or YAS Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or KILO Like ' + QuotedStr('%' + EditSearch.Text + '%'));

    //  xFDQ.SQL.Add(' Order By SIRANO Asc');

    xFDQ.SQL.Add(')');
    xFDQ.Prepared := True;
    xFDQ.Open;


Order by kısmı parantezden sonra olacak dikkat etmen gereken bu kısım
Select * From yerine Select SIRANO as SNO, * From ile sıralamanın doğruluğunu görebilrsin

  xFDQ.Close;
    xFDQ.SQL.Clear;
    xFDQ.SQL.Add('Select * From KISILER Where CONTENT=' + QuotedStr(ComboBoxIcerik.Text));
   xFDQ.SQL.Add('AND(ADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or SOYADI Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(' Or YAS Like ' + QuotedStr('%' + EditSearch.Text + '%'));
   xFDQ.SQL.Add(' Or KILO Like ' + QuotedStr('%' + EditSearch.Text + '%'));
    xFDQ.SQL.Add(')');

    xFDQ.SQL.Add(' Order By SIRANO Asc');

    xFDQ.Prepared := True;
    xFDQ.Open;
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#9
Emeği geçen herkese ve @adelphiforumz Teşekkür ederim, çok makbule geçti.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Comport kullanımı crypto 4 119 04-12-2019, Saat: 16:17
Son Yorum: QuAdR
  cxscheduler bileşen kullanımı KUNTAY 2 238 04-10-2019, Saat: 08:36
Son Yorum: elixir84
  Fdmemtable kullanimi arsl01 8 705 11-09-2019, Saat: 01:32
Son Yorum: Aktolgali
  Thread içerisinde sleep kullanımı berk06 1 301 26-08-2019, Saat: 11:36
Son Yorum: Tuğrul HELVACI
  TNotification Kullanımı hk yhackup 4 391 07-08-2019, Saat: 18:51
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi