Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

Преобразование дат: гггг-мм-дд и дд-мм-гггг.   Найти похожие ветки 

 
Chery   (2004-11-29 13:39) [0]

Формат поля в БД объявлен как DateTime в формате гггг-мм-дд (MySQL), а делфи воспринимает дату в дд-мм-гггг. Как мне преобразовать дату из Делфи, чтобы ее можно было записать в базу ф формате гггг-мм-дд.


 
IceBeerg ©   (2004-11-29 13:54) [1]

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


 
Брат   (2004-11-29 13:55) [2]

ShortDateFormat:="yyyy.mm.dd";


 
Chery   (2004-11-29 14:31) [3]

Я че-то не совсем понял.FormatDateTime возвращает же строку.
Я пробую так:
clPrikaz_Student.FieldByName("Dte_Prikaza").AsDateTime:=2004-09-20; Но оно все равно пытается преобразовать в дд.мм.гггг.


 
simpson ©   (2004-11-29 14:33) [4]

> FieldByName("Dte_Prikaza").AsDateTime:=2004-09-20;

Ужас.
См. в хэлпе описание типа TDateTime.


 
Anatoly Podgoretsky ©   (2004-11-29 14:48) [5]

Chery   (29.11.04 14:31) [3]
Это означает 2004 - 09 - 20; = 1975


 
Chery   (2004-11-29 14:59) [6]

тоесть, clPrikaz_Student.FieldByName("Dte_Prikaza").AsVariant:="2004.09.20";


 
simpson ©   (2004-11-29 15:20) [7]

> Chery   (29.11.04 14:59) [6]
> FieldByName("Dte_Prikaza").AsVariant:="2004.09.20";

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

Откуда берется записываемое в базу значение даты?


 
Chery   (2004-11-29 16:03) [8]

Пользователь сам вводит в ДВГрид, в удобном для нас формате дд.мм.гггг..


 
simpson ©   (2004-11-29 16:13) [9]

Ты случаем не с аналогом TTable работаешь?


 
Chery   (2004-11-29 16:45) [10]

Что-то мне уже страшно...
Мидас: ClientDataSet1.
На сервере Query и Provider


 
simpson ©   (2004-11-29 16:53) [11]

А в чем, собственно, трудность? Если уж так необходимо редактирование in-place, то, насколько я знаю, стандартный VCL-ный грид принимает дату в формате текущих региональных настроек системы, преобразует его к TDateTime и таким образом его передает связанному датасету.

А где тогда встречается это:

clPrikaz_Student.FieldByName("Dte_Prikaza").AsDateTime:=2004-09-20;


 
Chery   (2004-11-29 17:10) [12]

Да нигде не встречается, это я уже пробовал задавать явно\
clPrikaz_Student.FieldByName("Dte_Prikaza").AsVariant:="2004.11.11"; И наблюдал, как оно ее воспринимает как 11.11.2004 (Системный формат). Но я ставил системный формат yyyy-MM-dd. И вроде все воспринимает. Но Результат не удовлетворительный. Оно не хочет записывать в базу.


 
Chery   (2004-11-29 17:15) [13]

Ой, стоп, просто я тот же вопрос задавал в разделе БД. И там все сводилось к вопросу, указанному в теме. Теперь я вижу, что проблема в другом.


 
Chery   (2004-11-29 17:17) [14]

У меня не хочет записывать в базу из-за Даты. Ставлю дату в Null - записывает. Как не задаю - не записывает. И формат в МуСКЛ - DateTime. Но не хочет.


 
simpson ©   (2004-11-29 17:22) [15]

Код показывай.


 
Chery   (2004-11-29 18:48) [16]

Да какой тут код: ДБГрид, DataSource1, ClientDataSet1.
После Пост делаю апдейт: clPrikaz_Student.ApplyUpdates(-1);
На сервере вставляю:
insert into Prikaz_Student
 (Kod_Stud, N_Prikaza, Dte_Prikaza, Kod_Prikaza)
values
 (:Kod_Stud, :N_Prikaza, :Dte_Prikaza, :Kod_Prikaza)

Не работает (не добавляет), но когда в BeforePost пишу
clPrikaz_Student.FieldByName("Dte_Prikaza").AsVariant:=Null;
То работает. Формат поля даты в базе DATETIME. СУБД: MySQL5, драйвер MyODBC-3.51.10.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.035 c
1-1101489554
Frozzen
2004-11-26 20:19
2004.12.12
Работа с MemProof


14-1100892299
panov
2004-11-19 22:24
2004.12.12
http://delphibase.endimus.ru/ - поддерживают до сих пор?


4-1097751044
Руслан
2004-10-14 14:50
2004.12.12
Вопрос про АЦП


1-1101835736
kaktus
2004-11-30 20:28
2004.12.12
Динамическая обраьотка событий.


14-1101237565
Piter
2004-11-23 22:19
2004.12.12
Интересный пример кода в Тейксера и Пачеко





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский