Адаптация значения даты или времени к различным форматам SQL-сервераDelphi , Базы данных , MSSQLАдаптация значения даты или времени к различным форматам SQL-сервера
Оформил: DeeCo { 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; Пример программирования на языке Delphi, демонстрирующий адаптацию значений даты и времени к различным форматам SQL-сервера. Код включает в себя два функционала:
Функция использует функции В процедуре Код также включает обработчик исключений, который ловит любые ошибки, которые могут возникнуть при выполнении хранимой процедуры или открытии запроса. Если возникает ошибка, она отображает сообщение об ошибке пользователю. В целом, это пример программирования на языке Delphi, демонстрирующий адаптацию значений даты и времени к различным форматам SQL-сервера. Адаптация значения даты или времени к различным форматам SQL-сервера описана в статье, демонстрирующей решение проблемы конвертации данных для работы с разными MS-SQL-серверами. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |