![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
гляньте, что тут не так? [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 (например)