Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Неверное отображение значения / 25 сообщений из 47, страница 1 из 2
13.11.2017, 11:57:17
    #39552073
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Добрый день. Подскажите, пожалуйста, как правильным образом отображать значение поля типа datetime в гриде, я в свойстве Displayformat поля ставлю dd.mm.yyyy hh:MM:ss, при работе приложения всё отображает правильно, но при входе в режим редактирования поля, значение отображается в каком-то непонятном виде, если установить Editmask, то тоже показывается ввод по маске, а мне хотелось, чтобы при переходе в этот режим корректно отображалась дата и время. Заранее спасибо.
...
Рейтинг: 0 / 0
13.11.2017, 12:08:25
    #39552084
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
patrick1968чтобы при переходе в этот режим корректно отображалась дата и время
А сейчас как отображается?
...
Рейтинг: 0 / 0
13.11.2017, 12:11:20
    #39552090
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
И какие компоненты используются (что за грид)?
...
Рейтинг: 0 / 0
13.11.2017, 12:16:43
    #39552094
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
при отображении 09.11.2017 14:06:50 - это правильно,
а при входе в редактирование становится 2017-11-09 14:06:50 14:06:50 (почему-то время дважды) и формат даты сменился
...
Рейтинг: 0 / 0
13.11.2017, 15:03:32
    #39552273
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
сравни DisplayFormat и EditFormat у "проблемного" поля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.11.2017, 15:43:28
    #39552312
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
У поля ADOQuery, также как и у Columns[i] грида нет такого свойства как EditFormat
...
Рейтинг: 0 / 0
13.11.2017, 15:50:19
    #39552322
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Компонент dbgrideh
...
Рейтинг: 0 / 0
13.11.2017, 16:12:23
    #39552339
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
13.11.2017 15:43, patrick1968 пишет:
> нет такого свойства как EditFormat

ну значит EditMask, или что-то подобное.
чЮдес на свете не бывает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.11.2017, 16:49:29
    #39552384
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Там у dbgrideh вообще-то DateEdit-контрол должен появляться с выбором из календаря (а не обычное текстовое поле с вводом по маске). Может тип колонки неправильно определился в датасете? Надо щелкнуть по датасету, выбрать Fields, выбрать нужное поле (если нет, то добавить в список все поля через add all fields), после чего посмотреть класс у поля -- он должен быть TDateField быть.

Вот так:
...
Рейтинг: 0 / 0
13.11.2017, 16:53:04
    #39552389
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Если в EditMask вписать шаблон даты, то при в ходе в редактирование вместо даты я вижу 10.__.__, но это также не интересно, может шаблон какой другой долженн быть а не !99.99.00;1;_
...
Рейтинг: 0 / 0
13.11.2017, 17:08:42
    #39552408
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Удали колонку (Column) из грида и добавь заново.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.11.2017, 17:54:38
    #39552449
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Что только не перепробовал - бесполезно
...
Рейтинг: 0 / 0
13.11.2017, 19:33:13
    #39552484
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Чудес не бывает. Выкладывай архив с проектом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.11.2017, 19:57:15
    #39552492
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Проблемы с форматом даты надо решать на уровне SQL-запроса, а не приложения.
Надо в SQL-запросе установить нужный формат функцией DATEFORMAT (или подобной - не
знаю какой диалект SQL используется в БД, но в любом есть функция форматирования даты)...
...
Рейтинг: 0 / 0
13.11.2017, 20:05:44
    #39552495
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
patrick1968при входе в редактирование становится 2017-11-09 14:06:50 14:06:50
в настройках системы небось такой формат впилил. Проверь.
...
Рейтинг: 0 / 0
14.11.2017, 09:45:30
    #39552662
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
не думаю, что запрос здесь как-то влияет, вот его вид:

SET DATEFORMAT dmy;

SELECT sh.ShiftID, CAST(sh.OutTime as DATETIME) OutTime, sh.CarID, c.RegNum, sh.OutDriverID,
(d.FirstName + ' ' + SUBSTRING(d.LastName, 1,1) + '.' + SUBSTRING(d.SecondName, 1, 1) + '.') as OutDriverName, sh.OutUser, u.USERNAME as OUTUSERNAME,
sh.OutRun, CAST(sh.InTime as DATETIME) InTime, sh.InDriverID,(d1.FirstName + ' ' + SUBSTRING(d1.LastName, 1,1) + '.' + SUBSTRING(d1.SecondName, 1, 1) + '.') as InDriverName,
sh.InRun, sh.InUser, u1.USERNAME as INUSERNAME, sh.ShiftCash, sh.CashUser, u2.USERNAME as CASHUSERNAME, sh.ShiftOnBoard
FROM dbo.Shifts sh left outer join dbo.Cars c on (c.CarID = sh.CarID)
left outer join dbo.Drivers d on (d.DriverID = sh.OutDriverID)
left outer join dbo.Drivers d1 on (d1.DriverID = sh.InDriverID)
left outer join dbo.USERS u on (u.USERID = sh.OutUser)
left outer join dbo.USERS u1 on (u1.USERID = sh.InUser)
left outer join dbo.USERS u2 on (u2.USERID = sh.CashUser
...
Рейтинг: 0 / 0
14.11.2017, 09:56:41
    #39552669
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
d7iПроблемы с форматом даты надо решать на уровне SQL-запроса, а не приложения.
Надо в SQL-запросе установить нужный форматОга, конечно. А на клиенте конечно же выкусывать дату из строки.
...
Рейтинг: 0 / 0
14.11.2017, 10:02:04
    #39552674
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
patrick1968SET DATEFORMAT dmy;

SELECT sh.ShiftID, CAST(sh.OutTime as DATETIME) OutTime
OutTime - строковое поле в формате dmy? Прикольно. Но проблема, скорей всего, всетаки в системном формате даты на клиенте, как kdv уже писал.
Если проверишь его и ничего не заметишь необычного - смени на другой, и посмотри на результат.
...
Рейтинг: 0 / 0
14.11.2017, 10:12:12
    #39552686
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Почему это строковое поле? CAST(sh.OutTime as DATETIME) OutTime, просто если в запросе написать sh.OutTime, то при открытии ADOQuery будет ошибка, в связи с этим и приходится таким образом извращаться (поле типа datetime еще раз преобразовывать в datetime), хотя в данном запросе set dateformat никак не влияет, он так остался с предыдущего запроса
...
Рейтинг: 0 / 0
14.11.2017, 10:17:16
    #39552694
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
а настройки формата на клиенте самые обыкновенные, вот

Модератор: Вложение удалено.
...
Рейтинг: 0 / 0
14.11.2017, 11:03:57
    #39552743
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
patrick1968> если в запросе написать sh.OutTime, то при открытии ADOQuery будет ошибка

Текст ошибки какой ?

Проверь на новом (чистом) проекте -
увидишь, что всё работает правильно.
И скриншоты научись прикладывать
правильно (обрезать лишнее).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.11.2017, 11:28:14
    #39552762
patrick1968
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Сейчас уже точный текст ошибки не воспроизведу, но что-то вроде "Неверный тип поля, ожидался widestring а в реалиях datetime"после того как в запросе вместо поля поставил преобразование CAST ошибка исчезла
...
Рейтинг: 0 / 0
14.11.2017, 11:32:05
    #39552767
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
Зачем вспоминать, когда можно убрать cast и проверить?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.11.2017, 12:52:07
    #39552821
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
patrick1968Сейчас уже точный текст ошибки не воспроизведу, но что-то вроде "Неверный тип поля, ожидался widestring а в реалиях datetime"после того как в запросе вместо поля поставил преобразование CAST ошибка исчезлаЭто потому, что поле на форме оформлено как TDateTimeField, а в базе оно - строка.
...
Рейтинг: 0 / 0
14.11.2017, 15:54:21
    #39552934
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неверное отображение значения
d7iПроблемы с форматом даты надо решать на уровне SQL-запроса, а не приложения.Что за чушь? А в приложении вызывать StrToDateTime если опять понадобится дата?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Неверное отображение значения / 25 сообщений из 47, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]