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

Вниз

Глюк с конвертацией   Найти похожие ветки 

 
VaZ ©   (2003-01-16 10:36) [0]

День добрый мастера...
направьте пожалста меня...что то торможу
есть вот такой ввод даты
Dat:=InputBox("Введите дату проведения ревизии","Дата ревизии:","1.05.2001");
Затем это преобразуется и загоняется в StoredProc
RevisionDate:=StrToDate( Dat );
dm.spRevB.ParamByName("REVISION_DATE").AsDate := RevisionDate;

В процедуре идет обновление постоянной
UPDATE CONSTS
SET VALUE_B = CAST(:REVISION_DATE AS VARCHAR(255))
WHERE LABEL="SV_LAST_REV_DATE";

Проблема вот в чем... передается дата как 1.01.03
а в базе отображается как 01-JAN-03.. В связи с чем все глючит..
Вот код считывания даты из базы
LR_DATE:=#39+FormatDateTime("dd.mm.yyyy",StrToDate(dm.qWork.FieldByName("VALUE_B").AsString))+#39
Дату в виде 01-JAN-03 он не может привести ук нормальному выходу...Я смотрел настройки БДЕ, ничего странного там не обнаружил ..мож есть какой выход?


 
Alexandr ©   (2003-01-16 10:52) [1]

сервер всегда дату выводит как 01-JAN-03
хочешь по-другому - используй или UDF или вытягивай дату себе в программу как AsDateTime, и уже сам форматируй как тебе надо.


 
Johnmen ©   (2003-01-16 10:54) [2]

...И вообще, хранить дату в символьном поле - извращение еще то...


 
VaZ ©   (2003-01-16 11:04) [3]

Всяко извращение но не я прогу писал...я тока модифицирую...
а вручную исправить не удается пишет-
arithmetic overflow or division by zero has occured
arithmetic exception, numeric overflow or string truncation
Cannot transliterate character between character sets.

А как вытянуть то..намекните команду то?



 
VaZ ©   (2003-01-16 11:06) [4]

Просто остальные то даты как то в этом поле умудрились встать как 01.01.99 ...то есть в таком виде


 
Johnmen ©   (2003-01-16 11:10) [5]

Ну так и вставляй строковое значение "01.01.99", а не датное !
Где здесь проблема ?!


 
Max Zyuzin ©   (2003-01-16 11:33) [6]

Выход есть... с датой работать как с датой, а не со строкой... запросы делать через параметры, а дату получать из DateTimePicker-а


 
VaZ ©   (2003-01-17 10:45) [7]

Так вот работаю с датой как с датой...на промежуточных этапах все идет нормально...будь это единственная дата, ее можно было б заменить...а так смысла нет поскольку идут операции с датами...
Все остальное заносится... и появляется в таблице а вот при апдейте константы проходит глюк какой то...поскольку я знаю что сервера хранят дату в таком формате...но я то настройки изменил чтоб он хранил как 01.01.03 а не 01-JAN-03...и несмотря на это (изменения системных стандартов и БДЕ) все идет по прежнему...мож в чем еще загвоздка?
Просто VarChar приходится держать для констант...так как там разные данные встречаются...и дату в запрос проще передать как дату...чтоб прошли операции с ней


 
Max Zyuzin ©   (2003-01-17 10:58) [8]

Дата в таблице хранится в виде ЧИСЛА. (просто дата - целого, дата+время - с плавающей точкой). А то, что ты написал, это она так отображается...
Приведи код который у тебя вываливает ошибку...


 
VaZ ©   (2003-01-17 11:41) [9]

2 Max Zyuzin
вываливает приведенную ошибку не код а попытка изменить вручную поле в базе с помощью Квикдеска.
UPDATE CONSTS
SET VALUE_B = CAST(:REVISION_DATE AS VARCHAR(255))
WHERE LABEL="SV_LAST_REV_DATE";

это код до которого все идет Ок...то есть даты заносят ся в таблицу и эта в том числе...Попытка в обход записать ее строковым значением не удалась...вручную тож
LR_DATE:=#39+FormatDateTime("dd.mm.yyyy",StrToDate(dm.qWork.FieldByName("VALUE_B").AsString))+#39
А это код запроса значения из базы...ругающийся на формат даты текстовый


 
Max Zyuzin ©   (2003-01-17 11:53) [10]

>VaZ © (17.01.03 11:41)
VALUE_B - какой тип у этого поля?


 
VaZ ©   (2003-01-17 12:07) [11]

тип varchar(75)


 
Max Zyuzin ©   (2003-01-17 12:51) [12]

>VaZ © (17.01.03 12:07)
Ууу.. А что у тебя возвращается в результате dm.qWork.FieldByName("VALUE_B").AsString??


 
VaZ ©   (2003-01-20 05:48) [13]

спасибо Максу....теперь осталось понять а там ли глюк был...хи хи


 
Big_Rom ©   (2003-01-20 06:24) [14]

в Квикдеска
там тоже формат даты утанавливается мож там утебя проблема ?



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

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
1-15600
delpher_gray
2003-01-27 12:08
2003.02.06
Поиск файлов


14-15850
ivansv
2003-01-19 03:42
2003.02.06
Как вывести на экране текст в KOI8-R


6-15800
RAA
2002-12-15 12:58
2003.02.06
Как считать файл на другом компе по NetBios?


7-15967
Vlad-sh
2002-11-29 12:31
2003.02.06
Как получить параметры , с поторыми был запущен процесс?


1-15701
NewGuest
2003-01-27 12:09
2003.02.06
Народ, дайте у кого есть Gauges.dcu