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

Вниз

Ошибка в выполнении запроса: но почему??? FireBird 1.5   Найти похожие ветки 

 
Koala ©   (2005-07-22 11:41) [0]

второй час бьюсь... не могу понять, почему?
SQLCode = -303
IBErrorCode = 335544569
IBMessage:
Ошибка динамического SQL.
код ошибки SQL = -303.
ошибка преобразования из строки "АИ-95".


CREATE PROCEDURE PR_INSERT_FUEL_BORDEREAU (
   IN_TRAVEL_ID_FFUEL INTEGER,
   IN_SPEEDOMETER_ENT INTEGER,
   IN_SPEEDOMETER_END INTEGER,
   IN_SPEEDOMETER_RESULT INTEGER,
   IN_SPEEDOMETER_CITY INTEGER,
   IN_SPEEDOMETER_ROUTE INTEGER,
   IN_FUEL_ENT NUMERIC(5,1),
   IN_FUEL_END NUMERIC(5,1),
   IN_FUEL_CITY NUMERIC(5,1),
   IN_FUEL_ROUTE NUMERIC(5,1),
   IN_FUEL_RESULT NUMERIC(5,1),
   IN_RECEIVED_FUEL NUMERIC(5,1),
   IN_RECEIVED_TYPE_FUEL VARCHAR(10)))
AS
BEGIN
 INSERT INTO TBL_FUEL_BORDEREAU (
   TRAVEL_ID_FFUEL,
   SPEEDOMETER_ENT,
   SPEEDOMETER_END,
   SPEEDOMETER_RESULT,
   SPEEDOMETER_CITY,
   SPEEDOMETER_ROUTE,
   FUEL_ENT,
   FUEL_END,
   FUEL_CITY,
   FUEL_ROUTE,
   FUEL_RESULT,
   RECEIVED_FUEL,
   RECEIVED_TYPE_FUEL,
   DATE_EDIT)
 VALUES (
   :IN_TRAVEL_ID_FFUEL,
   :IN_SPEEDOMETER_ENT,
   :IN_SPEEDOMETER_END,
   :IN_SPEEDOMETER_RESULT,
   :IN_SPEEDOMETER_CITY,
   :IN_SPEEDOMETER_ROUTE,
   :IN_FUEL_ENT,
   :IN_FUEL_END,
   :IN_FUEL_CITY,
   :IN_FUEL_ROUTE,
   :IN_FUEL_RESULT,
   :IN_RECEIVED_FUEL,
   :IN_RECEIVED_TYPE_FUEL,
   "NOW");
END

вызываю из др. процедуры так:

 EXECUTE PROCEDURE PR_INSERT_FUEL_BORDEREAU(
         :VAR_TRAVEL_ID,
         :VAR_SPEEDOMETER_ENT,
         :VAR_SPEEDOMETER_END,
         :IN_SPEEDOM_RESULT,
         :IN_SPEEDOM_CITY,
         :IN_SPEEDOM_ROUTE,
         :VAR_FUEL_ENT,
         :VAR_FUEL_END,
         :IN_FUEL_CITY,
         :IN_FUEL_ROUTE,
         :IN_FUEL_RESULT,
         :IN_RECEIVED_FUEL,
         :IN_RECEIVED_FUEL_TYPE);

в программе вызываю storedProcedure:
    try
      StartTransact;
        with sp_InsTemp do
          begin
            if not Prepared then Prepare;
             Params[1].AsInteger := ...;
             ........
             Params[8].AsString  := Trim(cb_TypeFuel.Text);
             ExecProc;
          end;
      trWrite.Commit;              
    except;
      trWrite.Rollback;
    end;


 
Johnmen ©   (2005-07-22 11:46) [1]

А где Params[0] ???

Вообще советую почитать про индексацию массивов и списков.


 
Koala ©   (2005-07-22 11:49) [2]


> Johnmen ©   (22.07.05 11:46)
> А где Params[0] ???
>
> Вообще советую почитать про индексацию массивов и списков.

Это я знаю....
когда писал ошибся не ту строку стер.... суть проблемы не в этом....


 
Johnmen ©   (2005-07-22 11:55) [3]

Проблема в несоотвествии значений параметров их типам.
А где это соответствие, ты не приводишь.


 
ЮЮ ©   (2005-07-22 12:07) [4]

Params[8].AsString  := Trim(cb_TypeFuel.Text);

восьмой параметр в процедуре
IN_FUEL_CITY NUMERIC(5,1)


 
Koala ©   (2005-07-22 12:19) [5]

привожу полный код процедуры которая вызывается

CREATE PROCEDURE PR_SAVE_DATE (
   IN_ID_TEMP INTEGER,
   IN_SPEEDOM_CITY INTEGER,
   IN_SPEEDOM_RESULT INTEGER,
   IN_SPEEDOM_ROUTE INTEGER,
   IN_FUEL_CITY NUMERIC(5,1),
   IN_FUEL_ROUTE NUMERIC(5,1),
   IN_FUEL_RESULT NUMERIC(5,1),
   IN_RECEIVED_FUEL NUMERIC(5,1),
   IN_RECEIVED_FUEL_TYPE VARCHAR(10)) - восьмой параметр
AS
DECLARE VARIABLE VAR_NUM_RECORD SMALLINT;
DECLARE VARIABLE VAR_TRAVEL_ID INTEGER;
DECLARE VARIABLE VAR_CLIENT_ID INTEGER;
DECLARE VARIABLE VAR_BUSINESS_TRIP INTEGER;
DECLARE VARIABLE VAR_TIME_ENT TIMESTAMP;
DECLARE VARIABLE VAR_TIME_END TIMESTAMP;
DECLARE VARIABLE VAR_TIME_USAGE VARCHAR(8);
DECLARE VARIABLE VAR_MINUTES INTEGER;
DECLARE VARIABLE VAR_SPEEDOMETER_ENT INTEGER;
DECLARE VARIABLE VAR_SPEEDOMETER_END INTEGER;
DECLARE VARIABLE VAR_SPEEDOMETER_RESULT INTEGER;
DECLARE VARIABLE VAR_FUEL_ENT NUMERIC(5,1);
DECLARE VARIABLE VAR_FUEL_END NUMERIC(5,1);
BEGIN
 BEGIN
     FOR
       SELECT TBL_TEMP.TRAVEL_ID, TBL_TEMP.CLIENT_ID,
              TBL_TEMP.BUSINESS_TRIP, TBL_TEMP.TIME_ENT, TBL_TEMP.TIME_END,
              TBL_TEMP.TIME_USAGE, TBL_TEMP.MINUTES, TBL_TEMP.SPEEDOMETER_ENT,
              TBL_TEMP.SPEEDOMETER_END, TBL_TEMP.SPEEDOMETER_RESULT
       FROM TBL_TEMP
         WHERE ((TBL_TEMP.TRAVEL_ID = :IN_ID_TEMP))
       ORDER BY TBL_TEMP.NUM_RECORD
         INTO :VAR_TRAVEL_ID,
              :VAR_CLIENT_ID,
              :VAR_BUSINESS_TRIP,
              :VAR_TIME_ENT,
              :VAR_TIME_END,
              :VAR_TIME_USAGE,
              :VAR_MINUTES,
              :VAR_SPEEDOMETER_ENT,
              :VAR_SPEEDOMETER_END,
              :VAR_SPEEDOMETER_RESULT
         DO
         BEGIN
           SUSPEND;
             EXECUTE PROCEDURE PR_INSERT_CARD_CUSTOMER(
                        :VAR_TRAVEL_ID,
                        :VAR_CLIENT_ID,
                        :VAR_TIME_ENT,
                        :VAR_TIME_END,
                        :VAR_TIME_USAGE,
                        :VAR_MINUTES,
                        :VAR_SPEEDOMETER_ENT,
                        :VAR_SPEEDOMETER_END,
                        :VAR_SPEEDOMETER_RESULT,
                        :VAR_BUSINESS_TRIP);
         END
   END
 BEGIN
 FOR
   SELECT FIRST 1 TBL_TEMP.SPEEDOMETER_ENT, TBL_TEMP.FUEL_ENT,
                  TBL_TEMP.NUM_RECORD
   FROM TBL_TEMP
   WHERE ((TBL_TEMP.TRAVEL_ID = :IN_ID_TEMP))
   ORDER BY TBL_TEMP.NUM_RECORD
   INTO :VAR_SPEEDOMETER_ENT,
        :VAR_FUEL_ENT,
        :VAR_NUM_RECORD
 DO SUSPEND;
END

BEGIN
 FOR
   SELECT FIRST 1 TBL_TEMP.SPEEDOMETER_END, TBL_TEMP.FUEL_END,
                  TBL_TEMP.NUM_RECORD
   FROM TBL_TEMP
   WHERE ((TBL_TEMP.TRAVEL_ID = :IN_ID_TEMP))
   ORDER BY TBL_TEMP.NUM_RECORD DESC
   INTO :VAR_SPEEDOMETER_END,
        :VAR_FUEL_END,
        :VAR_NUM_RECORD
 DO SUSPEND;
END

 EXECUTE PROCEDURE PR_INSERT_FUEL_BORDEREAU(
         :VAR_TRAVEL_ID,
         :VAR_SPEEDOMETER_ENT,
         :VAR_SPEEDOMETER_END,
         :IN_SPEEDOM_RESULT,
         :IN_SPEEDOM_CITY,
         :IN_SPEEDOM_ROUTE,
         :VAR_FUEL_ENT,
         :VAR_FUEL_END,
         :IN_FUEL_CITY,
         :IN_FUEL_ROUTE,
         :IN_FUEL_RESULT,
         :IN_RECEIVED_FUEL,
         :IN_RECEIVED_FUEL_TYPE);
 EXECUTE PROCEDURE PR_DELETE_TEMP(:IN_ID_TEMP);
end


 
dmitry501 ©   (2005-07-22 12:25) [6]

Перед строкой
Params[8].AsString  := Trim(cb_TypeFuel.Text);
вставь строку
Params[8].DataType := ftString;
Про это написал Johnmen ©   в [3]
Или передавай так
Params[8].AsString  := QuotedStr(Trim(cb_TypeFuel.Text)); но это криво


 
Koala ©   (2005-07-22 12:37) [7]


> dmitry501 ©   (22.07.05 12:25)


> Params[8].AsString  := QuotedStr(Trim(cb_TypeFuel.Text));
> но это криво

все равно та же ошибка.....


 
Koala ©   (2005-07-22 12:47) [8]

Хотя в IBExperte на прогонке все нормально.....


 
Koala ©   (2005-07-22 12:51) [9]

Старнно...
удалил из DataModule TFibStoredProc которую вызывал, и создал новую все заработало.....
Всем спасибо....

-----------------------------
бред какай-то....??????


 
Johnmen ©   (2005-07-22 13:22) [10]

Ничего странного. Менял процедуру после начала "использования" TFibStoredProc.



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

Форум: "Базы";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.011 c
3-1122361863
Rule
2005-07-26 11:11
2005.09.04
Неужто в DBExpress для Delphi 7 однонаправленый курсов


1-1123755704
.ruslan
2005-08-11 14:21
2005.09.04
На какое событие это сделать?


6-1116580918
EGK
2005-05-20 13:21
2005.09.04
Не работает apache shared module под 2 Apache


1-1123696512
Yegorchic
2005-08-10 21:55
2005.09.04
Как перевести из "цвета" в "текст"?


2-1089278540
Думкин
2004-07-08 13:22
2005.09.04
Для поддержки





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