Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 458

•  TDictionary Custom Sort  6 501

•  Fast Watermark Sources  6 290

•  3D Designer  9 234

•  Sik Screen Capture  6 622

•  Patch Maker  7 000

•  Айболит (remote control)  7 007

•  ListBox Drag & Drop  5 874

•  Доска для игры Реверси  97 099

•  Графические эффекты  7 205

•  Рисование по маске  6 508

•  Перетаскивание изображений  5 374

•  Canvas Drawing  5 746

•  Рисование Луны  5 457

•  Поворот изображения  4 986

•  Рисование стержней  3 539

•  Paint on Shape  2 807

•  Генератор кроссвордов  3 678

•  Головоломка Paletto  2 963

•  Теорема Монжа об окружностях  3 766

•  Пазл Numbrix  2 485

•  Заборы и коммивояжеры  3 168

•  Игра HIP  2 136

•  Игра Go (Го)  2 071

•  Симулятор лифта  2 441

•  Программа укладки плитки  2 116

•  Генератор лабиринта  2 590

•  Проверка числового ввода  2 265

•  HEX View  2 594

•  Физический маятник  2 206

 
скрыть

Delphi Sources

Адаптация значения даты или времени к различным форматам 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;




Похожие по теме исходники

Вычисление даты Пасхи

Конструктор тестов SQL

SQL Zapros