Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.05.2009, 03:57
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию Работа с датами Delphi + MySql

Здравствуйте.
Нужен Ваш совет...
Есть делфи и МуСКЛ через Адо. В таблице куда разбираются и складываются логи присутствуют столбцы:
..., connect_month, connect_day, connect_year, ......., disconnect_month, disconnect_day, disconnect_year,
Дело в том, что дата получается в формате MMM dd yyyy (May 07 2009 - название месяца текстом). Соответственно тип данных Date поставить нет возможности, а мне нужно организовать выборку данных за определенный промежуток времени (допустим за месяц). Как посоветуете сравнивать все это дело...?
Можно конечно на месяцы сделать отдельную таблицу, со столбцом "название_месяца" и столбцом типа Integer и забить туда порядковые номера и их потом сравнивать, но помоему это как-то криво выглядит, да и две "одинаковые" таблицы в базе держать не есть правильно...
Ответить с цитированием
  #2  
Старый 23.05.2009, 11:26
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

А зачем вы изначально забивали в таблицы таким образом дату? Проще в базу пихать тип Date, а уж потом, для более красивого представления (или еще там хз для чего) представлять дату в том виде как вам надо... ИМХО поля connect_month, connect_day, connect_year надо объединить в один conneсt_date тип Date, а disconnect_month, disconnect_day, disconnect_year- в disconnect_date и все станет на свои места.
Ответить с цитированием
  #3  
Старый 23.05.2009, 12:21
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

у меня логи прям из файла раскладываются в базу, а дата там именно так прописано...
что-то сразу я не продумал...
Ответить с цитированием
  #4  
Старый 23.05.2009, 12:33
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Преобразуй дату из логов в нормальную дату, пиши ее в базу и все:
Код:
var
FormSett:TFormatSettings;
Str:string;
myDate:TDateTime;
begin
//str:= строка из твоего лога с датой
with FormSett do
 begin
 DateSeparator:='.'; // разделитель, если надо поставь пробел 
 ShortDateFormat:='mm.dd.yyyy'; 
 LongDateFormat:='mmm.dd.yyyy';
 end;
myDate:=StrToDate(str,FormSett);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter