Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение времени из БД Access 
:(
    Опции темы
Dapo
Дата 13.3.2003, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Использую в своем приложении базу MS_Access 2000. В одно из полей записывается время. В самом Аксесе запись отображается корректно, а вот в в моем гриде к времени лепиться еще и дата (в начале). Код примерно такой:
Код

.....
Fields[0].asString:=TimeToStr(Now);
.....


Аксес показывает только время, а мой грид 30.12.1899 'текущее_время'

Как убрать эту дату? Пробовал задавать разные форматы поля - ноль эмоций.
PM MAIL   Вверх
SmaLL
Дата 13.3.2003, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh

Репутация: 1
Всего: 2



Просто Дельфи использует только один тип данных для хранения даты и времени.

Можно в гриде самому при перерисовке ячейки вставить преобразования, например, чтобы извлечь время можно использовать DecodeTime из SysUtils.
Вообще-то в SysUtils много функций для работы с датами, поковыряйся может что-то подберЁшь.


--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
Medved
Дата 14.3.2003, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Если требуется изменить отображения только в DBGrid, тогда обрабытывай событие OnDrawColumnCell (это на форуме уже неоднократно обсужалось, найди через поиск), если же для всей таблицы, то тогда через GetText.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
AntonSaburov
Дата 14.3.2003, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Можно посмотреть

uses SysUtils;

function FormatDateTime(const Format: string; DateTime: TDateTime): string;

Тут можно как угодно преобразовать.
PM MAIL WWW ICQ   Вверх
Dapo
Дата 19.3.2003, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Про OnDrawCell я в курсе и про преобразования тоже. Ну преобразовал я и что? А чем хуже мой код? Или TimeToStr возвратит в строке не время (и только время)? В гриде все равно будет то, что я писал выше. А перерисовка ячеек... неужели для того чтобы показать запись из поля типа Дата/Время ДБГрид нужно перерисовывать? Так вот, если кто-то столкнется с такой проблемой, можете поступить так как я: при создании таблицы в MSAccess, полю которое должно содержать время присвойте тип...'ТЕКСТОВОЕ'. :-)
PM MAIL   Вверх
SmaLL
Дата 19.3.2003, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh

Репутация: 1
Всего: 2



Цитата(Dapo @ 19.3.2003, 09:23)
Так вот, если кто-то столкнется с такой проблемой, можете поступить так как я: при создании таблицы в MSAccess, полю которое должно содержать время присвойте тип...'ТЕКСТОВОЕ'.  :-)

Это поможет, если не использовать сортировку по дате.

А так же в базе должны храниться данные, а не их отображения. Отображать данные как необходимо должен тот кто использует эти данные.
Например, если я захочу использовать твою базу (без изменений), и мне понадобится хранить вместе со временем и дату, то я могу записать это дело в твоЁ текстовое поле, но тогда твоя программа уже будет работать неправильно, будет отображать дату и время, хотя нужно будет только время.
Вот.


--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
Dapo
Дата 20.3.2003, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Дата у меня хранится в другом поле как дата, и отображается нормально. А если ты захочешь использовать мою базу, то можешь и абракадабру в текстовое поле записывать (моя прога тоже будет работать неправильно это ты верно подметил). Хотя это мне уже до лампочки, честно. Назови хотябы одну фирму для которой выражение: "Проблемы негров шерифа не е#@т" не была бы аксиомой.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.