0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 19
|
|
1 | |
Неправильно отображается время в DBGrid!14.02.2014, 13:26. Показов 1491. Ответов 10
Метки нет (Все метки)
Подскажите как решить проблему: в таблице, созданной в Access установил в поле тип - Время. Время пишется по маске ЧЧ:ММ. А в программе в DBGridе отображается с какой-то еще датой непонятной! Причем программа считывает только время (а не эту дату) и добавляется через программу тоже спокойно всё! Что делать???
0
|
14.02.2014, 13:26 | |
Ответы с готовыми решениями:
10
Неправильно отображается адрес D7 + Windows10 неправильно отображается align Неправильно сортирует в DBGrid AdoTable Первый поиск не отображается в DbGrid |
36 / 36 / 7
Регистрация: 15.01.2013
Сообщений: 161
|
|
14.02.2014, 16:17 | 2 |
используй функции преобразования времени в строку - это в самом запросе,
или попробуй задать DisplayFormat - это в свойствах поля DataSet .
0
|
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
|
|
14.02.2014, 16:28 | 3 |
эта дата - время начала нового века (очередная фишка Microsoft, использованная для решения проблем с совместимостью). Borland выставил ее с 1899 г.
1
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
14.02.2014, 16:31 | 4 |
Меня, кстати, это всегда раздражало
Можно подумать, что в БД не м.б. более древних дат
0
|
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
|
|
14.02.2014, 17:06 | 5 |
Grossmeister, в БД я вообще не вижу смысла выставлять именно эту дату по умолчанию.
1
|
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 19
|
|
14.02.2014, 17:14 [ТС] | 6 |
И как её убрать? Приколисты блин!
Добавлено через 3 минуты Это довольно трудно т.к. в БД поле задано как время, а в программе приравнивается к системному времени и это все прописывается через sql.
0
|
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 19
|
|
14.02.2014, 17:16 [ТС] | 7 |
0
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
14.02.2014, 17:17 | 8 |
Сообщение было отмечено SerJ_RiccI как решение
Решение
Я не работал с Access, но вообще в большинстве СУБД не существует тип "Время". Еcть тип DATE, который содержит дату со временем. Если хочешь использовать только время - вытаскиваешь его из этого поля соответствующими функциями. Ну или хранишь время в символьном поле.
0
|
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 19
|
|
14.02.2014, 17:27 [ТС] | 9 |
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
14.02.2014, 18:34 | 10 |
SerJ_RiccI, прислушайтесь к Grossmeister'у. В этой СУБД нет типа время.
Задаваемый вами формат в Аксессе - это всего лишь отображение времени в самой среде Аксесса и не более того. Если нужно хранить только время, то лучше чем в строковом виде не придумаешь (текст с 4-5 или 6-7 символами). Все равно, если в базе будет время с типом Дата/время, то придется препарировать данные и отделять дату от времени, даже если эта дата равна нулю. Если в строковом виде, то отделять не нужно, а преобразовывать в тип TDateTime для вычислений придется. А раз так, то логичнее выбрать формат хранения с наименьшим геморроем, т.е. символьный.
1
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
14.02.2014, 19:50 | 11 |
Не там смотришь. Ты смотришь в свойствах колонки DBGrid'a, а надо смотреть в свойствах поля датасета.
0
|
14.02.2014, 19:50 | |
14.02.2014, 19:50 | |
Помогаю со студенческими работами здесь
11
Не отображается содержимое стобцов (записи) в DBGrid Неправильно выводит время Формат даты в DbGrid, как не отображать время? Из DateTimePicker в DBGrid отобразить время, дату и год Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |