изменить сохраненный формат даты в базе данных - PullRequest
1 голос
/ 12 августа 2010

Как изменить формат сохранения даты в базе данных с мм / дд / гггг на дд / мм / гггг? Поскольку MSHFlexGrid считывает данные непосредственно из базы данных, ее источник должен хранить дату в формате дд / мм / гггг. Нет проблем с чтением мм / дд / гггг в текстовом поле как дд / мм / гггг. 1001 *

Ответы [ 4 ]

2 голосов
/ 12 августа 2010

Даты, как правило, хранятся в базе данных в независимой форме, они представлены только в локализованных форматах. Вам нужно посмотреть на настройку локализации для вашей системы / компонента и / или изменить запрос SELECT, чтобы вернуть дату в нужном вам формате (хотя я подозреваю, что Grid все равно представит ее в формате США).

1 голос
/ 12 августа 2010

"MSHFlexGrid читает данные напрямую из базы данных "

Конечно, он должен использовать что-то посередине, например. Дизайнер DataEnvironment, набор записей ADODB и т. Д.

'H' в 'MSHFlexGrid' обозначает иерархический: вы показываете иерархические данные, например, привязать иерархический набор записей ADODB к свойству источника данных сетки?

Если вам не нужны иерархические данные, рассмотрите Microsoft DataGrid (MSDatGrd.ocx). Вы можете привязать к нему неиерархический набор записей ADODB и использовать свойства его столбцов DataFormat, которые имеют тип StdFormat.StdDataFormat, т.е. имеют события для _Format и _UnFormat соответственно. Я использую это, чтобы добавить подсекундную точность к значениям DATETIME, заменить NULL на '' и т. Д.

UPDATE:

Возможно, вам удастся создать приемник данных с помощью объекта BindingCollection (требуется ссылка на Microsoft Data Binding Collection VB 6.0), поскольку объект Binding поддерживает свойство DataFormat. Рабочий пример см. В Источники данных, приемники данных .

http://www.aivosto.com/visdev/data.html

0 голосов
/ 08 сентября 2010

Я не думаю, что изменение формата системной даты - это полное решение, потому что вы можете сменить компьютер и при этом столкнуться с той же проблемой. Лучший и самый простой способ - указать нужный формат в запросе, я не знаюкакую базу данных вы используете, но я бы привел вам пример.

Если сетка считывает данные непосредственно из таблицы, вам нужно создать представление, запрашивающее эту таблицу, а затем указать там формат.

0 голосов
/ 12 августа 2010

Даты сохраняются как есть. Вы не можете это изменить. Однако вы МОЖЕТЕ создать вычисляемый столбец и отобразить даты в виде varchar, преобразовав столбец даты в столбец varchar в любом формате, который вам нужен, и отобразить его.

(однако в вашей форме он будет доступен только для чтения)

Функции преобразования здесь: http://msdn.microsoft.com/en-us/library/aa226054%28SQL.80%29.aspx

Здесь вычисляемый столбец: http://msdn.microsoft.com/en-us/library/ms191250.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...