Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

формат 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.04 c
9-1093434182
бобомен
2004-08-25 15:43
2004.12.26
массив спрайтов


14-1102114569
i-s-v
2004-12-04 01:56
2004.12.26
ТАК! ЮЩЕНКО!


4-1099758380
Flex
2004-11-06 19:26
2004.12.26
Имя компьютера.


1-1102502798
BRemB
2004-12-08 13:46
2004.12.26
TCustomDockForm


9-1093097593
Колбасьев
2004-08-21 18:13
2004.12.26
Фон в 3D игре