MySql Delphi Tarih Problemi

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Mute
Üye
Mesajlar: 2
Kayıt: 30 Haz 2014 12:15

MySql Delphi Tarih Problemi

Mesaj gönderen Mute »

Arkadaşlar merhaba, forumda baya inceledim ama MySql Tarih problemi ile ilgili net bir çözüm bulamadım Delphi 2009 kullanıyorum ve MySql bağlantı için Zeoslib kullanıyorum MySql Tarih formatını 'YYYY-AA-GG' şeklinde gösteriyor ama 'GG.AA.YYYY' şeklinde olması gerekiyor veya devaminda saatda yazması lazım fikirlerinizi bekliyorum. Teşekkürler.
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

Re: MySql Delphi Tarih Problemi

Mesaj gönderen dynamo »

myconnection nesnesinde kod olarak set dateformat tarzı tarih formatını ayarlayacak bir kod var mı bilmiyorum,onun yerine aşağıdaki fonksiyon kullanılabilir:


//Formatting Date Values for MySql SQL in Delphi //mysql sorgularda ve insert/update işlemlerinde aşağıdaki
function DateForMySql(const date : TDate) : string;
begin
result := FormatDateTime('yyyy-mm-dd', date) ;
end;

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
   s:='SELECT * from hareketler where tarih>='''+DateForMysql(datetimepicker1.Date)+''' and tarih<='''+DateForMysql(datetimepicker2.Date)+''' ';
   MyQuery1.Close;
   MyQuery1.SQL.Clear;
   MyQuery1.SQL.Add(s);
   MyQuery1.open;

end;
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Re: MySql Delphi Tarih Problemi

Mesaj gönderen ender_arslanturk »

Farklı bir bakış :D

Kod: Tümünü seç

Function MySQLTarihiHazirla(Tarih:TDate):String;
var
        Gun,Ay,Yil:String;
begin
        try
                Calendar1.CalendarDate:=Tarih;

                Yil :=  IntToStr(Calendar1.Year);
                If Calendar1.Month<10 Then Ay :='0'+IntToStr(Calendar1.Month) else Ay :=IntToStr(Calendar1.Month);
                If Calendar1.Day<10   Then Gun:='0'+IntToStr(Calendar1.Day)   else Gun:=IntToStr(Calendar1.Day);

                Result:=Yil+'-'+Ay+'-'+Gun;
        except
        end;
end;
Kullanımı :

Kod: Tümünü seç

Query.SQL.Text:='Select* FRom TabloAdi Where Tarih='+QuotedStr(MySQLTarihiHazirla(Date));
Query.Close;
Query.Open;
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: MySql Delphi Tarih Problemi

Mesaj gönderen vkamadan »

en iyisi parametreleri kullanarak böyle tarih formatı vb gibi konulara takılmamak..

Kod: Tümünü seç

Query.Close;
Query.SQL.Text:='Select* FRom TabloAdi Where Tarih=:tarih');
Query.ParamByName('tarih').AsDate := date;
Query.Open;
Volkan KAMADAN
www.polisoft.com.tr
Cevapla