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

Вниз

формат DateTime в MySQL5 и в Delphi5.5.   Найти похожие ветки 

 
Chery   (2004-11-26 19:28) [0]

Что-то не сопоставляются форматы DateTime в MySQL5 и в Delphi5.5.
Там где использую DateTime не идет транзакция, как только убираю DateTime - все нормально.


 
Артем1   (2004-11-28 12:24) [1]

в МайсСкл дата хранится в формате ГГГГ-ММ-ДД, а в Д по умолчанию ДД-ММ-ГГГГ, нужно использовате преобразование дат, с пом функций форматдате или датеформат, преобразование даты в строку...


 
Term   (2004-11-28 19:42) [2]

ты дату в запрос через параметры передаеШ??? тогда никаких проблем не должно быть,
> нужно использовате преобразование дат, с пом функций форматдате
> или датеформат, преобразование даты в строку...

а это если ты дату пишеш в самом запросе тогда да иначе будут вылетать эксэпшэны


 
Chery   (2004-11-29 10:28) [3]

Ага, спасибо. А как в Делфи перевисти Дату в  32-битное целое число в виде Unix timestamp.


 
Chery   (2004-11-29 11:52) [4]

Я задаю в Делфи дату (дд.мм.гггг) и сохраняю ее в базу МуСКЛ, ApplyUpdates(-1); На сервере:
insert into Prikaz_Student
 (Kod_Stud, N_Prikaza, Dte_Prikaza, Kod_Prikaza)
values
 (:Kod_Stud, :N_Prikaza, :Dte_Prikaza, :Kod_Prikaza)
И из-за даты не апдейтит. Формат даты в базе DATETIME.


 
Chery   (2004-11-29 12:24) [5]

Артем1,
Пробовал явно задать (ГГГГ-ММ-ДД):
clPrikaz_Student.FieldByName("Dte_Prikaza").AsVariant:="2004.01.11";
Но тоже самое - не апдейтит.

И второй вопрос: Можно ли средствами Делфи перевести дату в Unix timestamp (удобный для МуСКЛ и ПХП формат)? Может я так решу этот трабл.


 
Chery   (2004-11-29 13:19) [6]

FormatDateTime - возвращает Стринг. А мне надо дата, только в формате ГГГГ-ММ-ДД.


 
sniknik ©   (2004-11-29 13:59) [7]

> А мне надо дата, только в формате ГГГГ-ММ-ДД.
ктото просто бредит...
неужели нельзя посмотреть исходный тип дататайма? и какой такой у него формат задаваемый строкой? люди!!! ну попытайтась понять, число это не строка у него нет формата! есть только форма представления/преобразования (из той же строки). не можете понять ну хоть поверьте на слово, не врут же вам.
http://delphimaster.net/view/3-1101467614/

какой формат у числа 1000000 например?
а если я его задам строкой?
так 1 000 000 или так 1000000.00 или так 1.000.000,00 или еще както, ну число то от этого не изменится...
или вы о том в каком типе представлено? тогда другое дело double от extended отличаются (если не было переопределения типов), но речь о количестве байт в типе а не о формате! (минусов или точек между байтами нет!!! верьте мне)


 
Chery   (2004-11-29 18:52) [8]

Хорошо, дело не в типах. Дело в том почему у меня не апдейтится?
Я уже пробывал с ГГГГ-ММ-ДД. Разницы никакой.
Вобщем вот:
ДБГрид, 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.


 
sniknik ©   (2004-11-29 20:55) [9]

> Хорошо, дело не в типах
именно в типах... и очень плохо что их не различаеш, строку с датой путаеш.

> Я уже пробывал с ГГГГ-ММ-ДД. Разницы никакой.
забудь про ГГГГ-ММ-ДД и про ММ-ДД-ГГГГ и про .... остальное того же  плана... плана (? хм. ну если только план хороший ;о)))

> Не работает (не добавляет), но когда в BeforePost пишу
> clPrikaz_Student.FieldByName("Dte_Prikaza").AsVariant:=Null;
> То работает. Формат поля даты в базе DATETIME.
раз так работает то и так должно
clPrikaz_Student.FieldByName("Dte_Prikaza").AsDate[Time]:= переменная DateTime;


 
Chery   (2004-11-30 10:30) [10]

Нет, не хочет так:
clPrikaz_Student.FieldByName("Dte_Prikaza").AsDateTime:= 11/11/2004;


 
sniknik ©   (2004-11-30 11:11) [11]

11 деленное на 11 и деленное на 2004... с чего бы ему хотеть? (кстати вполне легальная дата будет гдето в районе 30.12.1899 0:00:43)

я же ясно написал "переменная DateTime" а не то что ты под этим желаеш видеть (то строку, то бред какойто), не находиш что надо бы книжек почитать? по основам хотябы.


 
Chery   (2004-11-30 11:37) [12]

clPrikaz_Student.FieldByName("Dte_Prikaza").AsDateTime:=Now;
А так?


 
sniknik ©   (2004-11-30 12:21) [13]

вот так должно работать, эта (!!! только эта) строчка правильная.
но подозреваю у тебя и оно не работает, судя по некоторым признакам (очень уж после ответа "да так", напрашивается фраза "а вот и нет, так тоже не хочет", зачем этот вопрос нужен вместо проверки), но раз так то виноват в этом уже другой код. (!!!)

вообше непонятно что и как ты делаеш, зачем к примеру инсерт в BeforePost ([8]), какая связь, какие компоненты, зачем ClientDataSet и сервер(упоминалось), трехзвенка? но тогда где его код и структура? и почему нет провайдера данных в списке используемого.
неясностей много, а ты даже сообщение об ошибке не приводиш ("Нет, не хочет так:" это извини еще один бред, кто не хочет? чего не хочет? кого? и почему?)...

еще раз, возми книгу по базам, почитай (хотя бы для того чтобы вопросы осмыссленно задавать).


 
Chery   (2004-11-30 14:16) [14]

Ошибки не выдает, все нормально, тока не записывается в базу. Я подключаюсь к БД в Access (анологичная БД) - все работает. Я думал, может что-то с MySQL - ничего не могу понять, может у кого-то подобное было уже.


 
Anatoly Podgoretsky ©   (2004-11-30 14:56) [15]

Что-то не сопоставляются форматы DateTime в MySQL5 и в Delphi5.5.

А никак они и сопостовлять не могут, поскольку такого продукта, как Delphi5.5 просто не существует в природе.


 
Chery   (2004-11-30 16:59) [16]

Хорошо, не правильно оперирую понятиями. Но проблема осталась.


 
sniknik ©   (2004-11-30 20:38) [17]

ну так научись правильно оперировать, а то ведь не понять тебя.


 
Chery   (2004-12-02 13:53) [18]

Значит Вы с таким не сталкивались?
В БД MySQL, в ячейки (поля) формата DateTime, Date, TimeStamp не могу вставить данные с Делфы. Ошибки не выдает. Как мне хотя бы отловить эту "непонятку" ?



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

Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.032 c
1-1102714908
Larisa
2004-12-11 00:41
2004.12.26
По умолчанию, в Делфи используется MS San Serif,


3-1101812518
Eugene1501
2004-11-30 14:01
2004.12.26
Как удалить индекс dbf файла


14-1102411701
Nic87
2004-12-07 12:28
2004.12.26
Позвольте представиться


4-1100525998
Рафик
2004-11-15 16:39
2004.12.26
Как можно спрятать свою программу


1-1103033063
alex145
2004-12-14 17:04
2004.12.26
Как управлять ресурсами приложения?





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