|
|
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
Среда - ASP 4, IIS 7.5, Win7 x64 Пытаюсь выбрать дату через стандартный Calendar для записи в БД (MS SQL 2008) - выбираю одну, а заносится совсем другая, что самое интересное - число и месяц заносится правильно, а год - нет, например - я выбираю 17.09.2011, а в базу записывается почему-то 17.09.2002, и всегда 2002, что самое интересное!)) Связывание произвожу как: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Если вместо Bind("pDeliveryDate") писать Bind("pDeliveryDate", "{0:d}") выдает ошибку авторCannot convert type 'string' to 'System.DateTime' В каком формате храится дата в свойстве Selected Date календаря и как её правильно преобразовать? Что делаю не так? И чем вообще из стандартного инструментария обычно выбирают дату для записи в базу, кроме сторонних контролов (AJAX и jQuery picker-ов)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 09:11:26 |
|
||
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
Посмотри свойства календаря, там можно формат даты выбрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 09:17:19 |
|
||
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
n_stringПосмотри свойства календаря, там можно формат даты выбрать. А можно тыкнуть носом? А то весь раздел Calendar в msdn скурил, но так и не нашел. Самое интересное, только что меня осенило заглянуть в profiler сервера и оказывает на сервер дата посылается правильная (с 2011 годом), вот пример того, что я там увидел: Код: plaintext 1. 2. 3. Значит её корежит уже на сервере, но почему????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 09:23:37 |
|
||
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
Потому что она строкой приходит и сервер пытается конвертировать перед тем, как вставить в поле DateTime. Вообще-то для Insert специальные методы есть, а так тупо строкой DateTime или Int никто не вставляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 09:35:07 |
|
||
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
n_stringПотому что она строкой приходит и сервер пытается конвертировать перед тем, как вставить в поле DateTime. Вообще-то для Insert специальные методы есть, а так тупо строкой DateTime или Int никто не вставляет. Ну почему же тупо?, вроде, делаю все по-науке)): Есть DetailsView, в котором есть вышеупомянутое поле TemplateField с календарем. Этот DetailsView подключен к ObjectDataSource, к коорму, в свою очередь, которому прицеплен бизнес-объект, где поле pDeliveryDate имеет тип DateTime. Сигнатура метода вставки бизнес-объекта: Код: plaintext Вставка выполняется хранимкой. В ObjectDataSource указан параметр вот так: Код: plaintext 1. 2. 3. 4. 5. Где собака зарыта? Может ли какая-то локаль на сервере влиять на это? А-то у меня SSMS стремная - все жизнь с английской работал, а тут русскую поставил, надпись "НЕ NULL" в св-вах столбцов смотрится меня убивает)))))) Для полного колорита надо было перевести "НЕ НОЛЬ")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 09:51:32 |
|
||
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
Постарайся в методе OnInserting подобрать правильный формат даты. Обычно пишу методы вручную, кто знает как эти датасорсы работают, убираю InsertParameters вообще, оставляю только метод Insert. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 10:36:41 |
|
||
|
Формат даты в Calendar
|
|||
|---|---|---|---|
|
#18+
n_stringПостарайся в методе OnInserting подобрать правильный формат даты. Обычно пишу методы вручную, кто знает как эти датасорсы работают, убираю InsertParameters вообще, оставляю только метод Insert. А еще мысли есть какие-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2011, 11:47:40 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=156&tid=1360649]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 334ms |

| 0 / 0 |
