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

Вниз

гляньте, что тут не так?   Найти похожие ветки 

 
stud ©   (2003-10-10 15:46) [0]

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 тоже самое


 
Delirium^.Tremens ©   (2003-10-10 15:53) [1]

stack overflow.

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


 
Delirium^.Tremens ©   (2003-10-10 15:53) [2]

stack overflow.

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


 
Delirium^.Tremens ©   (2003-10-10 15:55) [3]

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


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

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


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


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

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


 
stud ©   (2003-10-10 16:15) [6]

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


 
Johnmen ©   (2003-10-10 16:36) [7]

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


 
stud ©   (2003-10-10 16:47) [8]

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


 
stud ©   (2003-10-10 16:47) [9]

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


 
Johnmen ©   (2003-10-10 16:53) [10]

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


 
stud ©   (2003-10-10 16:55) [11]

сейчас
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 17:04) [12]

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

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


 
stud ©   (2003-10-10 17:07) [13]

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


 
stud ©   (2003-10-10 17:24) [14]

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



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

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

Наверх




Память: 0.49 MB
Время: 0.015 c
1-98620
RoLeX
2003-10-17 14:41
2003.10.30
Как сделать, чтобы форма показывалась поверх всех окон???


3-98522
Nummer
2003-10-09 03:12
2003.10.30
допотопный SQL..


3-98435
stud
2003-09-29 11:58
2003.10.30
вопрос по серверам


14-98819
Marser
2003-10-09 22:34
2003.10.30
Глас народа - глас божий


1-98718
Pomashok
2003-10-20 21:27
2003.10.30
Юникод