Sql Server Türkçe Tarih Formatı Gönderen: dynamo Tarih: 12 November 2007 14:35:15
Sql server, tarih formatını, veritabanına Amerikan sistemine göre (yil-ay-gün) kaydeder.

Bu durumda programdan Türkçe tarih formatına göre(gün-ay-yil) yapılacak bir sorgu
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
hatasını verecektir.

Türkçe tarih formatına göre veritabanına login olmak için 2 yöntem kullanılır:
1-)SET DATEFORMAT DMY
2-)SET LANGUAGE Turkish


"
SET DATEFORMAT" tarih formatını dönüştürür."
SET LANGUAGE" veritabanı dilini belirtir,aynı zamanda tarih formatını bu dile göre ayarlar.
"set dateformat dmy" yada "SET LANGUAGE Turkish" sql sorgularını başına eklenir.
procedure TForm1.Button1Click(Sender: TObject);
var
y,m,d:Word;
sa,dk,sn,sl:Word;
tarih_saat1,tarih_saat2:string;
begin
DecodeDate(DateTimePicker3.Date,y,m,d);
DecodeTime(DateTimePicker4.Time,sa,dk,sn,sl);
tarih_saat1:=datetimetostr(EncodeDateTime(y,m,d,sa,dk,sn,sl));
DecodeDate(DateTimePicker5.Date,y,m,d);
DecodeTime(DateTimePicker6.Time,sa,dk,sn,sl);
tarih_saat2:=datetimetostr(EncodeDateTime(y,m,d,sa,dk,sn,sl));
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SET DATEFORMAT DMY select * from Kayit where TarihSaat>='''+tarih_saat1+''' and TarihSaat<='''+tarih_saat2+'''');
ADOQuery1.Open;
end;
İçinde tarih ile ilgili bir alan içeren her ADOQuery sorgusunun başına "
set dateformat dmy" kodu eklemek zahmetli olacağından,bunun yerine tüm datasetlerin (ADOQuery, ADOTable,ADODataset) bağlı olduğu ADOConnection nesnesinin AfterConnect olayında bu kod çalıştırılırsa ADOConnection veritabanına bağlı olduğu sürece "set dateformat dmy" bellekte tutacaktır.
//sql server Türkçe tarih formatı dmy--->gün.ay.yıl
procedure TForm1.ADOConnection1AfterConnect(Sender: TObject);
begin
ADOConnection1.Execute('SET DATEFORMAT DMY');
end;
örnek uygulama "Sql Server Veritabanına Tarih Saat Bilgisi Kaydetme" adlı makalede
http://www.delphidunyasi.net/index.php?topic=2777.0:
Ynt: Sql Server Türkçe Tarih Formatı Gönderen: özlem Tarih: 07 December 2007 17:54:58
YARDIMLARINIZ İÇİN ÇOK ÇOK TEŞEKKÜRLER UZUN ZAMANDIR BİZİM İÇİN BÜYÜK Bİ SORUNDU ORTADAN KALTI TEŞEKKÜRLER
Ynt: Sql Server Türkçe Tarih Formatı Gönderen: mıstık_karaca Tarih: 14 March 2008 15:27:06
ellerine sağlık kardeş