Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 20 March 2008 12:02:05
dm.tblislem.DisableControls;
dm.tblislem.Active := False;
dm.tblislem.SQL.Clear;
dm.tblislem.SQL.Add('select * from islem where tarih = ' + dbedit1.text);
dm.tblislem.Active := True;
dm.tblislem.EnableControls;
bir datetimepicker ile seçtiğim tarihte yapılan işlemlerin görüntülenmesini istiyorum. Yukarıdaki gibi yaptığımda insert modunda açılmış olmasına rağmen islem tablosunun insert ya da edit modunda açılmadığını söylüyor. Birde bunun haricinde 2 tane datetimepicker ile seçtiğim tarihler arasını gösterebilirmiyim?
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: SAHAN33 Tarih: 20 March 2008 14:19:35
dm.Query.DisableControls;
dm.Query.Active := False;
dm.Query.SQL.Clear;
dm.Query.SQL.Add('select * from islem where tarih >= "' +DateToStr(DateTimePicker1.Date) +'" AND Tarih<="'+DateToStr(DateTimePicker2.Date)+'" Order by tarih);
dm.Query.open;
dm.Query.EnableControls;
Arama yaparken Query ler kullanın. Form Üzerine de iki adet DateTimePicker nesnesi atarak buton altına bu kodları yazarak çalıştırın.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 20 March 2008 14:30:23
Unterminated string hatası veriyor. Sanırım Datetimepicker lar ile tarih değişkeni birbirine uyumlu değil. Neden string e çevirdik anlamadım. tarih alanı veritabanında tarih/saat olarak kayıtlı
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: SelçuK Tarih: 20 March 2008 19:09:11
tarihlerinizi bir parametreye atayıp between ile sorgulamayı denerseniz sanırım daha kolay çözebilirsiniz.
Kodlama dili (delphi)
makbuzlistele.SQL.Clear;
makbuzlistele.SQL.Add('SELECT cha_evrakno_seri, cha_evrakno_sira,'+
' cha_tarihi, cha_kod, cha_aciklama, cha_trefno,'+
' cha_kasa_hizkod FROM CARI_HESAP_HAREKETLERI WHERE cha_tarihi BETWEEN :t1 and :t2 and'+
' cha_evrak_tip='''+IntToStr(rbsecimi)+''' and cha_kod='''+txt_ckod.Text+''' and'+
' cha_evrakno_seri='''+evrak_seriara.Text+'''');
makbuzlistele.Parameters.ParamByName('t1').Value:=tar1;
makbuzlistele.Parameters.ParamByName('t2').Value:=tar2;
makbuzlistele.Open;
Benim Projemden bir kesit.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: SAHAN33 Tarih: 20 March 2008 20:28:37
tarih bilgisi string ifadeye çevrilir çünkü SQL sorgusu içinde dahi sorgulayacak olursanız '' içine almanız gereklidir.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: babahayati Tarih: 21 March 2008 08:23:09
http://www.delphidunyasi.net/index.php/topic,2242.msg12955.html#msg12955
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 26 March 2008 21:12:12
SadeceDate ve String ifadelerinin uyuşmalığı ile ilgili hata verior.
Query kullanıyorum, tablodaki tarih değişkeninin tipi Tarih/saat,
Stringe çevirdiimde de çevirmediim de de aynı hatayı verir. Bu sayfadaki ve verilen linktki tüm yolları denedim.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: kocaturk Tarih: 27 March 2008 00:29:25
Güzel kardeşim Between kullandın mı ? ayrıca aldığın hata nedir onu da eklesene.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 27 March 2008 09:40:29
Bu sayfadaki bütün kodları kullandım. Ölçüt ifadesinde veri türü uyuşmazlığı diye bir hata alıyorum.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: SelçuK Tarih: 27 March 2008 18:56:36
o zaman tarih field ını kontrol etmenizi öneririm veri türü tarih olarak seçilimi.
yada strtodate ile sttring ifadenizi tarih ifadesine çevirebilirsiniz.
şu nacizane örnekte dönüşümlerinize ışık tutabilir;
Kodlama dili (delphi)
var
tar1:TDateTime;
begin
tar1:=StrToDate(edit1.Text);
form1.Caption:=DateToStr(tar1);
end;
Burada edit1 e string bir ifade girdiğinizde size girdiğinizin bir date ifade olmadığını belirtecektir.
ancak 19.11.1987 gibi bir ifade girdiğinizde form1 in caption ında size tarihi verecektir.
Kolay gelsin...
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 31 March 2008 18:33:19
Dostum bunu tablolarla birlikte kullanamıyorum. Ölçüt ifadesinde veri türü uyuşmazlığı diyor.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: SAHAN33 Tarih: 31 March 2008 21:43:27
bilgisayarınızın dil ayarlarını kontrol edin bi. TR ayarları olursa xx.xx.xxxx şeklinde olmalı tarih. ayıraç olarak . dışında bir karakter kullanıyor olabilir. Yukarıdaki kodların işe yaramaması mümkün değil. Aynı kodları bende kullanıyorum. hiç sorun çıkmıyor..
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 06 May 2008 14:52:48
Ölçüt ifadesinde veri türü uyuşmazlığı hatasını vermeye devam ediyor.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: SelçuK Tarih: 06 May 2008 15:52:53
kardeş aramanın bulunduğu unit i komple eklermisin. Bir inceleyelim.
Ynt: Tarihe göre arama yapma ve iki tarih arasındaki sonucu görme... Gönderen: hopeace Tarih: 06 May 2008 16:55:47
with dm.adoquery1 do
begin
DisableControls;
Active := False;
SQL.Clear;
SQL.Add('select * from kredi where (kredibaslangic >= :tar1) AND (kredibaslangic<=:tar2) order by kredibaslangic');
Parameters[0].value:=datetimepicker1.Date;
parameters[1].Value:=datetimepicker2.Date;
Active := True;
EnableControls;
end;
Unit i eklemeye ne gerek var ki, kodlar böyle...