Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Адаптация значения даты или времени к различным форматам SQL-сервера

Delphi , Базы данных , MSSQL

Адаптация значения даты или времени к различным форматам SQL-сервера

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
Wenn man mit verschiedensprachigen (MS-)SQL-Servern arbeitet, 
hat man ab und an das Problem, Datumswerte in ein fur den 
jeweiligen Server verstandliches Format umzuwandeln. 
}

 { 
If you work with different (MS-)SQL-Server, you have sometimes the 
problem what the date value is in the correct format. 
}


 function TForm1.GetSQLDateTimeFormat(UDL: string): string;
 begin
   Screen.Cursor := crSQLWait;
   if ADOConnection1.Connected then ADOConnection1.Close;
   ADOConnection1.ConnectionString := 'FILE NAME=' + UDL;
   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('sp_helplanguage @@LANGUAGE');
   Application.ProcessMessages;
   try
     try
       ADOQuery1.Open;
     except
       on E: Exception do MessageBox(Handle,
           PChar('Die Abfrage konnte nicht geoffnet werden:' + #13#10+#13#10+E.Message),
           PChar('Fehler!'), 16);
     end;
     if (ADOQuery1.Active) and (ADOQuery1.RecordCount > 0) then
       Result := ADOQuery1.FieldByName('dateformat').AsString;
   finally
     Screen.Cursor := crDefault;
   end;
 end;



 function DateTimeToSQLDateTimeString(Data: TDateTime; Format: string;
   OnlyDate: Boolean = True): string;
 var
   y, m, d, h, mm, s, ms: Word;
 begin
   DecodeDate(Data, y, m, d);
   DecodeTime(Data, h, mm, s, ms);
   if Format = 'dmy' then
     Result := IntToStr(d) + '-' + IntToStr(m) + '-' + IntToStr(y)
   else if Format = 'ymd' then
     Result := IntToStr(y) + '-' + IntToStr(m) + '-' + IntToStr(d)
   else if Format = 'ydm' then
     Result := IntToStr(y) + '-' + IntToStr(d) + '-' + IntToStr(m)
   else if Format = 'myd' then
     Result := IntToStr(m) + '-' + IntToStr(y) + '-' + IntToStr(d)
   else if Format = 'dym' then
     Result := IntToStr(d) + '-' + IntToStr(y) + '-' + IntToStr(m)
   else
     Result := IntToStr(m) + '-' + IntToStr(d) + '-' + IntToStr(y); //mdy: ; //US 
  if not OnlyDate then
     Result := Result + ' ' + IntToStr(h) + ':' + IntToStr(mm) + ':' + IntToStr(s);
 end;



 //Example: 
//Beispiel: 

procedure ConvertSQLDateTime;
 begin
   ShowMessage(DateTimeToSQLDateTimeString(now, GetSQLLanguage('C:\DBEngl.udl')));
 end;

Статья Адаптация значения даты или времени к различным форматам SQL-сервера раздела Базы данных MSSQL может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: MSSQL ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 04:21:30/0.0043060779571533/2