Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

гляньте, что тут не так? [D7, IB6.x]


stud ©   (2003-10-10 15:46:00) 

begin
temp_date=:F_DATE;
temp_time=:F_TIME;
while (temp_date<=:t_date) do
begin
while (temp_time<=:t_time) do
begin
insert into RASPISANIE_VR (ID,DATEPR,TIMEPR,KOD_VR)
VALUES(gen_id(NEW_RASP,1),:TEMP_DATE,:TEMP_TIME,:KOD_VR);
temp_time=:TEMP_TIME+:timeslot;
end
temp_date=:TEMP_DATE+7;
end
end

ошибка такая
Overflow occurred during data type conversion.
conversion error from string "37907".

это параметры f_date и temp_date типа integer
что тут может быть не так, при изменении типа на double precision тоже самое


stud   (2003-10-10 17:24:00) [1]

а первая строка это уже метод научного тыка работает вовсю))


stud   (2003-10-10 17:07:00) [2]

ну не дабл и интегер DECLARE VARIABLE TEMP_DATE INTEGER;
это время - дабл
а если делаю cast(:temp_date as date) в insert результат тотже.


Johnmen   (2003-10-10 17:04:00) [3]

Первая строка процедуры бессмысленна...:)

Ну и вот, пытаешься полю типа DATE присвоить значение типа DOUBLE PRECISION !!!!!!!!!!
См.документацию. Преобразование типов.


stud   (2003-10-10 16:55:00) [4]

сейчас
SET TERM ^ ;

ALTER PROCEDURE NEW_RASPPISANIE (
T_TIME DOUBLE PRECISION,
F_TIME DOUBLE PRECISION,
KOD_VR INTEGER,
TIMESLOT DOUBLE PRECISION,
F_DATE INTEGER,
T_DATE INTEGER)
AS
DECLARE VARIABLE TEMP_DATE INTEGER;
DECLARE VARIABLE TEMP_TIME DOUBLE PRECISION;
begin
TEMP_DATE=CAST(:F_DATE AS INTEGER);
TEMP_TIME=:F_TIME;
while (TEMP_DATE<=:t_date) do
begin
while (TEMP_TIME<=:t_time) do
begin
insert into RASPISANIE_VR (ID,DATEPR,TIMEPR,KOD_VR)
VALUES(gen_id(NEW_RASP,1),:TEMP_DATE,:TEMP_TIME,:KOD_VR);
TEMP_TIME=TEMP_TIME+:TIMESLOT;
end
TEMP_DATE=TEMP_DATE+7;
end
end

^

SET TERM ; ^


это процедура)))
CREATE TABLE RASPISANIE_VR (
ID INTEGER NOT NULL,
DATEPR DATE,
TIMEPR TIME,
KOD_VR INTEGER,
KAB INTEGER,
KL INTEGER,
K_USL INTEGER,
NT TIME
);

это таблица. делал в запросе приведение типов к дате и времени все равно не работает, но в ибэксперте в режиме трассировки все работает. или он к табоице не обращается?


Johnmen   (2003-10-10 16:53:00) [5]

Структуру таблицы и описание переменных процедуры в....:)
Студию !
А вы куда подумали ? :)


stud   (2003-10-10 16:47:00) [6]

тоже самое!
по ошибке выходит,что виновато или f_date или temp_date но почему....


stud   (2003-10-10 16:47:00) [7]

тоже самое!
по ошибке выходит,что виновато или f_date или temp_date но почему....


Johnmen   (2003-10-10 16:36:00) [8]

temp_time=TEMP_TIME+timeslot;
temp_date=TEMP_DATE+7;


stud   (2003-10-10 16:15:00) [9]

при чем тут и при чем тут время, какая разница как названы параметры!)))) я же говорю что тип целый!


Delirium^.Tremens   (2003-10-10 16:09:00) [10]


> stud © (10.10.03 16:00) [4]

Что целого типа? Дата и время???


stud   (2003-10-10 16:00:00) [11]

похоже, но параметр - целого типа передаю значение тоже целого типа и вот такая ерунда


Delirium^.Tremens   (2003-10-10 15:55:00) [12]

Пардон! Это при преобразовании типов.
Ошибка с связанная с decimal separator


Delirium^.Tremens   (2003-10-10 15:53:00) [13]

stack overflow.

timeslot отрицательный или равен 0 (например)


Delirium^.Tremens   (2003-10-10 15:53:00) [14]

stack overflow.

timeslot отрицательный или равен 0 (например)


Наверх

Титульная страница Поиск, карта сайта Написать письмо