Adodateset ile birden fazla filtreleme nasıl oluyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Adodateset ile birden fazla filtreleme nasıl oluyor

Mesaj gönderen metemete »

Adodateset kullanıyorum birden fazla filtreleme nasıl yaparım.
örneğin 'Tarih' ve 'işlem'e göre ?
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Mesaj gönderen akgun83 »

Merhaba,
Kriterler arasına AND koyarak yapabilirsiniz;

Kod: Tümünü seç

   ADODataSet1.Filter:='TARIH='+QuotedStr('01.01.2004')+' AND ISLEM='+QuotedStr('TEST');
   ADODataSet1.Filtered:=true;
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Mesaj gönderen metemete »

Kod: Tümünü seç

   ADODataSet1.Filter:='TARIH='+QuotedStr('01.01.2004')+' AND ISLEM='+QuotedStr('TEST');
   ADODataSet1.Filtered:=true;
hata veriyor
ADODataset1 : Filter property cannot be used for detail tables.
ama table1 yazdığım zaman calısıyor.
Ya da Sql kodlarlamı filtre yapmak daha mantıklı olur ?olursa nasıl?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Site -> Makaleler _> Veritabanı -> SQL'e Giriş.

kolay gelsin.
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Mesaj gönderen metemete »

Kod: Tümünü seç

adodataset1.Close;
adodataset1.CommandText:='select * from Hareket where Tarih='+QuotedStr(datetostr(DateTimePicker1.Date))+' and İslem='+QuotedStr(combobox1.text);
adodataset1.Open;
[Sybase][ODBC Driver][Adaptive server Anywhere] Cannot convert 29.04.2004 to atimestamp.

hata veriyor??
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Öncelikle şunu belirtmek isterim, Sorgulamayla tablolardan veri çekmek istiyorsanız Query(AdoQuery) bileşenlerini kullanın. AdoDataSet bileşenini kayıt ekleme silme değiştirme gibi olaylarda kullanılır.

Gördüğüm hatalardan biri İslem değişkeni türkçe karakter barındırıyor. Tarih alanlarında problem olabilir Tablo içinden kontrol edin. Tarih ile saat aynı hücrede yer alıyormu.

Son olarak ta sorunuzu Forum da arama yaparsanız Cevab'ı bulabilirsiniz. Hatırladığım kadarıyla 20 nin üzerinde sizin sorunuz tipinde soru var. :lol:

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

hep soylemisimdir... bu tur durumlarda en iyi cozum calisacak sql cumlesini son kez ekrandan showmessage ile gormek hatta biar watch ekleyip oradan tam metni kopyalayıp bu metni ilgili database'in sql calistirmaya imkan veren araci uzerinde denemek. Ki burada bu amacla Isql veya Delphi ile gelen SQL Explorer kullanılabilir....

Veritabanı Tarih='29.04.2004' donusumunu yapamıyor. Hatırladıgım kadarı ile veritabanı tarafında tarih formatı ile oynanabiliyor ama ben onu tercih etmiyorum. Sybase 'de eger yanlıs bilmiyorsam sql cumlelerinde tarihi string olarak verirseniz farklı formatlar arasında bir karışıklık olmasın diye ( dd.mm.yyyy veya mm.dd.yyyy) formatı yyyy.mm.dd şeklinde vermelisiniz. Yani tarih değişkenini stringlerle pğarşalayarak bu hale getirebileceginiz gibi o kadar uğraşmamak için ki ben uğraşmıyorum. tarih degerini bir parametre yapıpı deger atayabilirsiniz...

Sybase'de Onlarca Tarih ve Zaman fonksiyonu oloduğunu ve bu konuda bir takım parametreler olduğunu da biliyorum. Onları inceleyerek versiğiniz formatı da kabul ettirebileceğinizden eminim ama ben bunu gerekli gordugum için uğraşmadım açıkcası...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Mesaj gönderen metemete »

1. evet oldu 29.04.2004 değil 20040429 olarak çalıştı.

2. adodataset kullanıyorum çünkü filtreleyip dbgride acıorum.Dbgridin titleclick olyında a..z ,z..a sıralama yapması için adoaset kullandım
Cevapla