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ş.
detail de arama?
detail de arama?
öğrenmek, zorlukları yenmektir.
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
bu veya buna benzer şekilde ayrı bir formda ayrı grid üzerine deneseniz sonuç dönüp dönmediğini.
kolay gelsin
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;
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.

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.

@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.
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
ile kayıt döndürüp döndürmediğini öğrenebilirsin.

Kod: Tümünü seç
ShowMessage(IntToStr(IBQuery1.RecordCount));
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
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. bu kodla sonuç döndüğünü görüyorum ama dbgrid de dönen bişey yok.
Kod: Tümünü seç
ShowMessage(IntToStr(IBQuery1.RecordCount));
öğrenmek, zorlukları yenmektir.