detail de arama?

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
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

detail de arama?

Mesaj gönderen cfyasar »

2 tablom var 1 master 1 detail. detail tablomdaki bir alana göre aratma yapmak istiyorum ama sql ini yazabilmiş değilim. Detail tablomda arama yapıp dönen sonuçların master tablodaki alanlarını göstermem lazım. Nasıl yapabilirim? Mesela IBDataset1 master tabloyu işaret ediyor IBDataset2 detail tabloyu. ayarları doğru DBGrid ile doğru çalıştığını görüyorum. IBDataset2 nin SelectSql ine şöyle bi sql cümlesi yazıyorum.

DataModule3.IBDataSet2.Close;
DataModule3.IBDataSet2.SelectSQL.Clear;
DataModule3.IBDataSet2.SelectSQL.Add('Select * From detail Where HATIRLATMA_TARIH='+QuotedStr(Datetostr(DTPicker1.Date)));
DataModule3.IBDataSet2.Open;

bundan hiçbir sonuç dönmüyor. İBExpert ile kayıtları görüyorum değer dönmesi lazım ama boş.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

detaildataset ile değilde ibquery ile aynı sorguyu bir butona yazarak yapsanız sonuç dönüp dönmediğine baksanız diyorum ve parametre kullansanız

Kod: Tümünü seç


ibquery.close;
ibquery.sql.clear;
ibquery.sql.add('select*from tablonuz');
ibquery.sql.add('where HATIRLATMA_TARIHI=:htarih');
ibquery.parambayname('htarih').asdatetime:=dtpicker1.date;
ibquery.open;

bu veya buna benzer şekilde ayrı bir formda ayrı grid üzerine deneseniz sonuç dönüp dönmediğini.

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

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

Mesaj gönderen rsimsek »

Veritabanı ile delphi taraftan DateToStr ile çevirdiğin format uygun olmayabilir. O yüzden @bobasturk ün önerdiği şekilde parametrik kullanmak daha mantıklı olur.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

@bobasturk önerdiği şekilde yaptım. dönen değerleri görebilmek için ibquery i nin datasource kısmına bir datasource nesnesine bağladım. ama datasource un dataset kısmına ibquery i iliştiremiyorum. bir tane de dbgrid i datasource nesnesine bağladım. arama yaptırdığımda grid de sonuç göremiyorum. ibquery nin döndürdüğü sonuçları görebilmenin başka yolu var mı?
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

IBQuery yi DataSource e eklemen gerekir. İliştirememene sebep nedir nasıl bir hata veriyor? DataSource e iliştiremezsen doğal olarak bağlı diğer bileşenlerde de (DBGrid, DBEdit, vs) hiç bir bilgi göremezsın :idea:

Kod: Tümünü seç

ShowMessage(IntToStr(IBQuery1.RecordCount));
ile kayıt döndürüp döndürmediğini öğrenebilirsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

Normal olarak datamodule e 1 tane IBDataset eklediğimde 1 tane de Datasource eklediğimde IBDataset nesnesinin Datasource özelliğine Datasource1 iliştirdiğim zaman DataSource1 nesnesinin Dataset özelliğinde iliştirilen IBdataset1 görülüyor. Fakat datamodule e eklediğim Ibquery1 nin datasource özelliğine datasource2 yi iliştirdiğim halde DataSource 2 nesnesinin dataset özelliğine ibquery1 i iliştiremiyorum. Bu sebepten Datamodule için ekranın solunda structure yapısını gösterirken datasource2 nesnesinin solunda soru işareti kalıyor.

Kod: Tümünü seç

 ShowMessage(IntToStr(IBQuery1.RecordCount));
bu kodla sonuç döndüğünü görüyorum ama dbgrid de dönen bişey yok.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

DataSet i DataSource e bağlamadıysan doğal olarak göremezsin :roll:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla