На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> firebird , sql error=-303
    Здравствуйте. Был запрос

    ExpandedWrap disabled
      IBSQL1->SQL->Add( "execute procedure INSERT_B (:DATETIMEP,:KOD_DOZAP,:MASSAP,:NUMBER_BUNKER,:FLAGP)");


    Немного изменил таблицу, соответственно и процедуру. Стало

    ExpandedWrap disabled
      IBSQL1->SQL->Add( "execute procedure INSERT_B (:number_bunkerp, :DATETIMEP, :KOD_DOZAP, :MASSAP, :zad_massap, :flag_errorp, :flag_countp)");


    Но перестало выполняться, пишет Dynamic SQL error SQL error code =-303 conversion error from string "39427"
    Я ставил тычки после

    ExpandedWrap disabled
      IBSQL1->SQL->Clear();
      //IBSQL1->SQL->Add( "execute procedure INSERT_B (:DATETIMEP,:KOD_DOZAP,:MASSAP,:NUMBER_BUNKER,:FLAGP)");
      IBSQL1->SQL->Add( "execute procedure INSERT_B (:number_bunkerp, :DATETIMEP, :KOD_DOZAP, :MASSAP, :zad_massap, :flag_errorp, :flag_countp)");
      IBSQL1->Params->Vars[0]->AsDateTime =  NumberDeviceFor_massa_1_2_format;
      IBSQL1->Params->Vars[1]->AsInteger  =  iStartX;
      IBSQL1->Params->Vars[2]->Value      =  KODDOZA;
      IBSQL1->Params->Vars[3]->Value      =  massa;
      IBSQL1->Params->Vars[4]->AsInteger  =  zad_massa;
      IBSQL1->Params->Vars[5]->AsInteger  =  flag_err;
      IBSQL1->Params->Vars[6]->AsInteger  =  flag_count;
      IBSQL1->ExecQuery(); //Вот эта строка не хочет выполняться
      IBTransaction1->CommitRetaining();


    На что обратить внимание ????
      Integer, похоже, 16битный. Передаваемое значение 39427 больше максимально допустимого значения 32767. Ищи 32битный инт.
        Всем спасибо ошибка была вот в чём
        ExpandedWrap disabled
          IBSQL1->Params->Vars[0]->AsDateTime =  NumberDeviceFor_massa_1_2_format; //NumberDeviceFor_massa_1_2_format - это инт
          IBSQL1->Params->Vars[1]->AsInteger  =  iStartX;//iStartX-это дата

        ->value и никогда не ошибёшся
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0200 ]   [ 16 queries used ]   [ Generated: 11.10.25, 04:22 GMT ]