girilen iki değer arasını österme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
BOGACHAN
Üye
Mesajlar: 38
Kayıt: 12 May 2004 02:37
Konum: istanbbul

girilen iki değer arasını österme

Mesaj gönderen BOGACHAN »

iki tane adit nesnem var bunların birincisine örneğin a ikincisine z değeri girilsin. sorgulama yapıldığına a la başlayan ilk kayıttan z le başlayan son kayıda kadar olan butün bilgileri görmek istiyorum. bunun için şöyle bi kod kullandım fakat top komutunda hata veriyor

query1.SQL.Add('select Ad from kayit');
query1.SQL.Add('where Ad>(select TOP 1 Ad from kayit where Ad like :adix order by Ad)');
query1.SQL.Add(' and Ad<(select TOP 1 Ad from kayit where Ad like :adix2 order by Ad desc)');
Query1.ParamByName('adix').AsString:=suiEdit1.Text+'%';
Query1.ParamByName('adix2').AsString:=suiEdit2.Text+'%';

bu pradox tanmı kaynaklanıyor acaba ms sql de denediğimde çalışıyor.
yardımlarınız için teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
önce şöyle bir hatırlatmada bulunayım.
genelde aramalarda başlangıç ve bitiş değerleri kullanılır. şu kayıttan şu kayıda kadar
yani ilk değer a son değer z dediğin zaman
listedeki en son kayıt z ile başlar.

umarım anlatabilmişimdir.

şimdi

Kod: Tümünü seç

query1.close;
query1.sql.clear;
query1.SQL.Add('select Ad from kayit');
query1.SQL.Add('where Ad>=:adix');
query1.SQL.Add(' and Ad<=:adix2');
Query1.ParamByName('adix').AsString:=suiEdit1.Text;
Query1.ParamByName('adix2').AsString:=suiEdit2.Text; 
query1.open;
burda like kullanmadık
çünkü like kullandığımız zaman örnekte dediğin gibi
a ve z parameterelerini verdiğin zaman
b ile başlıyanlar c ,ç,d,e...v,y, hiçbiri listelenmez.

umarım yardımcı olabilimişimdir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
BOGACHAN
Üye
Mesajlar: 38
Kayıt: 12 May 2004 02:37
Konum: istanbbul

Mesaj gönderen BOGACHAN »

teşşekkür ederim. yalnız benim derdim aslında tam olarak bu yani a.. z yazdığımdan bana aralarındakinide vermesini istiyorum.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

birde böyle denermisiniz

Mesaj gönderen pro_imaj »

Merhaba
Bide böyle denermisiniz

Kod: Tümünü seç

Query1.ParamByName('adix').AsString:=suiEdit1.Text; 
Query1.ParamByName('adix2').AsString:=suiEdit2.Text; 
query1.close; 
query1.sql.clear; 
query1.SQL.Add('select Ad from kayit'); 
query1.SQL.Add('where Ad>=:adix'); 
query1.SQL.Add(' and Ad<=:adix2'); 
query1.open;
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

BOGACHAN yazdı:teşşekkür ederim. yalnız benim derdim aslında tam olarak bu yani a.. z yazdığımdan bana aralarındakinide vermesini istiyorum.
tamam işte gönderdiğim örneğe göre yapacaksın.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

paradoxun tanıdığı şeyler çok kısıtlı, select içinde ayrı bir selecti tanımıyor sanırım.
Cevapla