Текущий архив: 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.47 MB
Время: 0.014 c