Главная страница
    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.03 c
14-1101190317
Rand
2004-11-23 09:11
2004.12.12
Оригинальные кнопочки!


3-1100503294
denis24
2004-11-15 10:21
2004.12.12
Tdbimage


14-1101007383
Александр1
2004-11-21 06:23
2004.12.12
Глюк windows 2003


1-1101704042
Dreamse
2004-11-29 07:54
2004.12.12
Проблема с TreeView


1-1101815685
Tack
2004-11-30 14:54
2004.12.12
TSpinEdit и Delphi 7





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский