sonuçları ızgara şeklinde

Oracle veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

sonuçları ızgara şeklinde

Mesaj gönderen danaci »

arkadaşlar mrb,

metin öğesi içeren bir kutuya ben harf girdikçe, table ı bu girilen metinle sorgulayarak sonuçlarını ızgara çeklinde görmek istiyorum. Bu mümkün mü?
örneğin

table personel
sno integer,
ad varchar2(60) olsun.

metin ögeside :isim olsun


ben metin öğesine ha yazınca table da ad
select * from personel where ad like :isim||'%' şeklinde bir sorguyu oluşturyorum ama sonuçlarının ızgara şeklnde gelmesini istiyorum.
Böyle bir şey yapılabilirmi?

Yapmak istediğime ait bir örnek formu aşağıdaki linke attım.
http://www.sendmefiles.com/ornek_fmb32
kolaylıklar
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Başlangıç yolunuz doğru görünmekte. Fakat her tuşa basınca (OnKeyDown aslında tuşa basılı kaldığında sürekli tetiklememesi için OnKeyUp) a bu kodu yazdığını sanıyorum.

Kod: Tümünü seç

select * from personel where ad like '"'||:isim||'%"' 
Burada çift tırnakları da eklemek gerekiyor. Çoktandır oracle da yazmadığımdan tam emin değilim, itiraz halinde çift tırnak yerine ikişer tek tırnak koyabilirsin.
Her tuş sonrası bu sorgunun Query si kapatılıp açılınca bağlı olduğu DataSource ve dolaysıyla DBGrid de varsa seçilen sonuçları getirmesi gerekir.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

rşimsek arkadaş,
önerdiğiniz kodu uyguladım ama hiç kayıt seçmiyor.
when-validate-item yada post-text-item event a
declare
s number:=1;
begin
for ee in (select * from personel where personel_adi like :isim||'%') loop
s:=s+1;
:personel_adi:=ee.personel_adi;

end loop;
end;
yazınca ilk bulduğu kaydı getiriyor, diğer kayıtlar yok ortada.
bunu bir dizi yapıp bu şekilde atama yapabilrmiyiz.

Ancak belirtmek istediğim şu.
oluşturduğumuz data bloku table temelli yani query temelli değil.
biz harf girdikçe delphideki gibi query çalışsın dşyorum.bunu oracle yapabilirmiyiz.

selamlar.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Sanırım SELECT te bir sorun var o da tırnaklarla ilgili. Normalde parametreyi ile şu şekilde olmalı;

Kod: Tümünü seç

select * from personel where personel_adi like 'AL%'
Karakter bir değişkeni tırnaklar arasındaki bir değerle karşılaştırabilirsin :idea: Gerçi bu şekilde olmasa da veri tabanından daha sorguyu açarken bir hata alman lazım :roll:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

redep abinin mantığı ile bende bir sözlük yapmıştım sqlite kullanan. kısaca mantığı doğru. sizin VT nizde like operatörünün kullanımını inceleyin derim.

yalnız edit onchange de her seferinde bu like işlemi çalışırsa programınız baya bir kastırır benden söylemesi.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

arkadaşlar sanırım sorunumu tam anlatamadım. ben bu sorunu oracle forms ta yaşıyorum.
formsta alanların bir table ya da sorguya dayalı olması gerektiğinden başlangıçta bir sorguya bağlanmasının nasıl olacağını bilemiyorum. Bunu delphide dbgridin datasourcunu query yapınca işlem oluyordu. Ben bunu oracle da yapmak istiyorum.
ve daha öncede bahsettiğim gibi bir metin alanına harf girdikçe sorgulamayı yapıp verilere ulaşmak istiyorum.
Cevapla