MySql Delphi Tarih Problemi
MySql Delphi Tarih Problemi
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.
Re: MySql Delphi Tarih Problemi
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;
//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;
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Re: MySql Delphi Tarih Problemi
Farklı bir bakış
Kullanımı :
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;
Kod: Tümünü seç
Query.SQL.Text:='Select* FRom TabloAdi Where Tarih='+QuotedStr(MySQLTarihiHazirla(Date));
Query.Close;
Query.Open;
Re: MySql Delphi Tarih Problemi
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
www.polisoft.com.tr