Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Баг с обработкой запроса к PgSQL из программы 
:(
    Опции темы
iDeus
Дата 26.3.2012, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Deus vult
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 5.6.2008
Где: Vladivostok

Репутация: нет
Всего: нет



Здравствуйте, на днях столкнулся с довольно странной проблемой, есть приложение, которое пишется в RAD Studio XE,
приложение обращается к локальной БД PostgreSQL через PSQLQuery, входящий в набор компонентов PostgresDAC

Запрос выглядит следующим образом:

Код

this->PSQLQuery_CriterionAdd->Close();
this->PSQLQuery_CriterionAdd->SQL->Clear();
this->PSQLQuery_CriterionAdd->SQL->Text = "UPDATE criterion SET    \
            name = :name,                    \
            var = :var,                        \
            add_by = :add_by,                \
            when_editing = :when_edit,        \
            qt_subcriterions = :qt_subcrit,    \
            weight = :weight,                \
            noun = :noun,                    \
            norm = :norm,                    \
            for_school = :for_s,            \
            comment = :comm,                \
            formula = :formula,                \
            var_vector = :varVector,        \
            qt_var = :qt_var,                \
            real_formula = :realFormula        \
            WHERE id = :id";
this->PSQLQuery_CriterionAdd->ParamByName("for_s")->Value = this->rb_school->Checked;
this->PSQLQuery_CriterionAdd->ParamByName("name")->Value = e_name->Text;
this->PSQLQuery_CriterionAdd->ParamByName("var")->Value = e_var->Text;
this->PSQLQuery_CriterionAdd->ParamByName("add_by")->Value = MainForm->UserId;
this->PSQLQuery_CriterionAdd->ParamByName("when_edit")->Value = MainForm->DateTime2Unix(Now());
this->PSQLQuery_CriterionAdd->ParamByName("weight")->Value = e_weight->Text.ToDouble();
this->PSQLQuery_CriterionAdd->ParamByName("comm")->Value = m_comment->Text;
this->PSQLQuery_CriterionAdd->ParamByName("qt_subcrit")->Value = this->qt_subCriterions;
this->PSQLQuery_CriterionAdd->ParamByName("id")->Value = this->criterion_id;
this->PSQLQuery_CriterionAdd->ParamByName("noun")->Value = this->cb_noun->Text;
this->PSQLQuery_CriterionAdd->ParamByName("norm")->Value = this->E_norm->Text;
this->PSQLQuery_CriterionAdd->ParamByName("formula")->Value = this->formula;
this->PSQLQuery_CriterionAdd->ParamByName("realFormula")->Value = this->realFormula;
this->PSQLQuery_CriterionAdd->ParamByName("qt_var")->Value = this->qt_var;
this->PSQLQuery_CriterionAdd->ParamByName("varVector")->Value = this->varVector;
this->PSQLQuery_CriterionAdd->ExecSQL();
this->PSQLQuery_CriterionAdd->Close();


Проблема заключается вот в чем:
Приведенный код компилируются, но при работе выдает ошибку "Parameter 'realFormula' not found", при этом, если в тексте самого запроса, поменять строку с realFormula на другую, но ошибка будет уже с новым параметром. 

Таким образом, получатся, что Pg каждый раз ругается на последний параметр в запросе. В то время, как в других модулях программы идентичные конструкции работают без проблем. Добавление скобок проблему не решило.  

В чем может быть проблема, комрадс?
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PostgreSQL | Следующая тема »


 




[ Время генерации скрипта: 0.0369 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.