Kullanıcı

Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
30 Temmuz 2010 09:33:23

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Sohbet Penceresi

Son 5 Notlar:

09 Temmuz 2010 15:09:00
merhaba arkadaÅŸlar ilk defa bi soru soracam
son olarak üzerinde çalıştığım bi proğramda sorun var
datadan belirli bi kritere göre arama yapıyor bunlardan çift olanları teke düşürüp gride nasıl yazdıra bilirim
örnek vererek anlatırsam daha sağlam olur sanırsam

datadan k
10 Temmuz 2010 03:07:46
GÜZEL SİTE SEVDİM ;D
14 Temmuz 2010 14:45:20
aloo nasılsınız...
15 Temmuz 2010 18:16:38
 maske msnden bi konuÅŸalım kanky.
17 Temmuz 2010 15:16:16
ınterbase procedure soruma cevap verecek sevgili bir kul yokmu arkadaşlar ?

Show 50 latest

Gönderen Konu: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL  (Okunma sayısı 615 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı void_main

  • Üye
  • ***
  • İleti: 34
  • Rep: +0/-0
DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« : 23 Åžubat 2010 11:32:08 »
Mrb arkadaÅŸlar;
Delphi 2009 ve MySql 5.0 kullanıyorum...
Formum üzerinde bir tane DateTimePicker iki tane de ComboBox var. Yapmak istediğim DateTP dan bir tarih seçilecek daha sonra CBox lardan saat. Amaç seçilen tarih ve seçilen saat aralıklarındaki verileri getirme. Yani DateTP dan 23.02.2010 u CBox lardan ise 11:00 ve 12:00 seçeneklerini seçtim. Bana bu tarihte, bu saat aralığındaki verileri getirecek kodlar lazım. MySql de

SELECT * FROM tablo_ismi WHERE DATE(zaman)
BETWEEN '2010.02.23' AND '2010.02.23'
AND DATE_FORMAT(zaman, '%H') BETWEEN 11 AND 17;

(zaman) : tarih kayıtlarını içinde tutan kolon ismi

bu kodu MySql derleyicisinde yazdığımda bana o tarihteki saat 11 ve 17 arasındaki verileri getiriyor. Ama ben Delphi'de DBGrid içinde göstermek istiyorum... ve bu kodu Delphi'de yazdığımda bana birçok hata veriyor.

Query1.SQL.Clear;
Query1.SQL.Add(yukardaki kod bloÄŸu)

Ama
Query1.SQL.Clear;
Query1.SQL.Text := ('select * from tablo_ismi')
Query1.Open;

dediÄŸim zaman verileri sorgusuz sualsiz hepsini DBGrid'e getiriyor...

Umarım derdimi anlatabildim, birkaç gün içinde çözmem lazım yardımlarınızı bekliyorum...



Çevrimdışı barutali

  • Global Moderatör
  • *****
  • İleti: 1.316
  • Rep: +38/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #1 : 24 Åžubat 2010 03:04:09 »
Kod: (delphi) [Seç]
SQL.Add(
        'SELECT * FROM tablo_ismi WHERE DATE(zaman) '+
        'BETWEEN ''2010.02.23'' AND ''2010.02.23'' '+
        'AND DATE_FORMAT(zaman, ''%H'') BETWEEN 11 AND 17 '
        );


bu şekilde denermisin ... tırnaklarda bi sorun olabilir.
En İyi Öğrenme Metodu Yaparak ve Yaşayaraktır.
M.Kemal ATATÜRK

Çevrimdışı void_main

  • Üye
  • ***
  • İleti: 34
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #2 : 24 Åžubat 2010 10:25:10 »
burda da birden fazla hata verdi, sanırım sayısal değerler Date tipinde olduğu için onları DateToStr yapmam lazım öyle deneyeceğim birde....

Çevrimdışı void_main

  • Üye
  • ***
  • İleti: 34
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #3 : 24 Åžubat 2010 14:35:59 »
sorgu ifademi şöyle değiştirdim
var
tarih1 :TDate;
saat1, saat2 : String;
begin
 ZConnection1.Connected := True;
 tarih1 :=(DateTimePicker1.DateTime);
 saat1 :=(ComboBox1.Items[ComboBox1.ItemIndex]);
 saat2 :=(ComboBox2.Items[ComboBox2.ItemIndex]);
  begin
    ZQuery1.SQL.Clear;
    ZQuery1.SQL.Text := (' SELECT * FROM veri_tarih_saat');
    ZQuery1.SQL.Text := (' WHERE DATE(zaman) BETWEEN '+DateToStr(tarih1)+' AND '+DateToStr(tarih1)+' ');
    ZQuery1.SQL.Text := (' AND WHERE DATE_FORMAT(zaman) BETWEEN '+ saat1 +' AND '+ saat2 +' ' );
    ZQuery1.Open;

ve şu hatayı verdi

Project zaman_graph.exe raised exception class EZDatabaseError with message 'Incorrect token followed by ":"'.
EZDatabaseError class'ındaki bir hatayı gösteriyor ama anlayamadım nerde ve tırnak iÅŸaretlerini kastediyor, bütün tırnak iÅŸaretlerini kontrol ettim fazlası yada eksiÄŸi yok farkındaysanız  ":"' sol tarafta iki saÄŸ tarafta 3 tane tırnak iÅŸareti var, halen çözebilmiÅŸ deÄŸilim...

Çevrimdışı muratboy31

  • Kıdemli Üye
  • *****
  • İleti: 115
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #4 : 24 Åžubat 2010 19:53:10 »
birde böyle dene,

Kod: (delphi) [Seç]
var
tarih1 :TDate;
saat1, saat2 : TTime;
begin
 ZConnection1.Connected := True;
 tarih1 :=(DateTimePicker1.DateTime);
 saat1 :=strtotime(ComboBox1.Items[ComboBox1.ItemIndex]);
 saat2 :=strtotime(ComboBox2.Items[ComboBox2.ItemIndex]);
  begin
    ZQuery1.SQL.Clear;
    ZQuery1.SQL.Text := (' SELECT * FROM veri_tarih_saat');
    ZQuery1.SQL.Text := (' WHERE DATE(zaman) BETWEEN '+DateToStr(tarih1)+' AND '+DateToStr(tarih1)+' ');
    ZQuery1.SQL.Text := (' AND WHERE DATE_FORMAT(zaman) BETWEEN '+ saat1 +' AND '+ saat2 +' ' );
    ZQuery1.Open;

Çevrimdışı void_main

  • Üye
  • ***
  • İleti: 34
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #5 : 25 Åžubat 2010 09:36:14 »
Yine aynı hatayı verdi :
Project zaman_graph.exe raised exception class EZDatabaseError with message 'Incorrect token followed by ":"'.

Çevrimdışı muratboy31

  • Kıdemli Üye
  • *****
  • İleti: 115
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #6 : 25 Åžubat 2010 13:36:49 »
combobox ta nasıl bir text varki ? manuel mi giriyorsun yoksa sen önceden listemi yapmışsın ?

Çevrimdışı void_main

  • Üye
  • ***
  • İleti: 34
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #7 : 25 Åžubat 2010 14:10:05 »
kodlama sırasında Combobox'lara değeri elle girdim

00:00:00
01:00:00
02:00:00.....
22:00:00
23:00:00 gibisinden

Çevrimdışı muratboy31

  • Kıdemli Üye
  • *****
  • İleti: 115
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #8 : 25 Åžubat 2010 15:36:34 »
önce böyle dene ;

Kod: (delphi) [Seç]
var
tarih1 :TDate;
saat1, saat2 : TTime;
begin
 ZConnection1.Connected := True;
 tarih1 :=(DateTimePicker1.DateTime);
 saat1 :=strtotime(ComboBox1.Text);
 saat2 :=strtotime(ComboBox2.Text);
  begin
    ZQuery1.SQL.Clear;
    ZQuery1.SQL.Text := (' SELECT * FROM veri_tarih_saat');
    ZQuery1.SQL.Text := (' WHERE DATE(zaman) BETWEEN '+DateToStr(tarih1)+' AND '+DateToStr(tarih1)+' ');
    ZQuery1.SQL.Text := (' AND WHERE DATE_FORMAT(zaman) BETWEEN '+ saat1 +' AND '+ saat2 +' ' );
    ZQuery1.Open;

olmazsa bide böyle dene;

Kod: (delphi) [Seç]
var
tarih1 :TDate;
saat1, saat2 : TTime;
begin
 ZConnection1.Connected := True;
 tarih1 :=(DateTimePicker1.DateTime);
 saat1 :=ComboBox1.Text;
 saat2 :=ComboBox2.Text;
  begin
    ZQuery1.SQL.Clear;
    ZQuery1.SQL.Text := (' SELECT * FROM veri_tarih_saat');
    ZQuery1.SQL.Text := (' WHERE DATE(zaman) BETWEEN '+DateToStr(tarih1)+' AND '+DateToStr(tarih1)+' ');
    ZQuery1.SQL.Text := (' AND WHERE DATE_FORMAT(zaman) BETWEEN '+ saat1 +' AND '+ saat2 +' ' );
    ZQuery1.Open;

Çevrimdışı void_main

  • Üye
  • ***
  • İleti: 34
  • Rep: +0/-0
Ynt: DateTimePicker ve ComboBox ile sorgulama, ACİLLLL
« Yanıtla #9 : 05 Mart 2010 17:09:28 »
arkadaşlar bu problemi İsmail Kocacan arkadaşımın yardımı sayesinde şöyle çözdük:
procedure TForm1.Button1Click(Sender: TObject); //Geçmişi Göster Butonu
var
tarih, saat1,
saat2 ,YilAyGun, veri :String;
begin
  tarih :=DateToStr(DateTimePicker1.DateTime);
//mySQL' Tarih Formatında Parselleme işlemi (sonuç:2010-02-24)
  YilAyGun := AnsiRightStr(tarih,4) +'-'+ AnsiMidStr(tarih,4,2) +'-'+ AnsiLeftStr(tarih,2);
  saat1 := ComboBox1.Items[ComboBox1.ItemIndex];
  saat2 := ComboBox2.Items[ComboBox2.ItemIndex];
    YilAyGun := ''''+YilAyGun+'''';
    saat1 := ''''+saat1+'''';
    saat2 := ''''+saat2+'''';

    //baÄŸlantı için
    ZQuery1.SQL.Text := 'SELECT veri, DATE(zaman) as Tarih,Time(zaman) as Saat from veri_tarih_saat WHERE DATE(zaman) ='
    +YilAyGun+ 'AND Time(zaman) BETWEEN' +saat1+ 'AND' +saat2+ '' ;
    ZQuery1.Open;

uses kısmına StrUtils kütüphanesini eklemeyi unutmayın