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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
3-15455
ZiLot
2003-01-19 12:19
2003.02.06
Как добаить запись в КОНЕЦ таблицы?


3-15501
SONY
2003-01-21 06:45
2003.02.06
Interbase+PHP


7-15956
Sura
2002-11-27 09:03
2003.02.06
CD-ROM


14-15821
RomaIzDurdoma
2003-01-18 00:39
2003.02.06
Апгрейд ПО


1-15727
xyz
2003-01-20 19:32
2003.02.06
Морфологический анализ слов





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