Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вставить записи в базу (invalid pointer addition)

2.1K
06 мая 2009 года
FreeWay
142 / / 03.05.2007
Всем привет!
Подскажите пж почему такой запрос выдает ошибку:

 
Код:
ADOQueryWays->Close();
    ADOQueryWays->SQL->Clear();
    ADOQueryWays->SQL->Text="INSERT INTO Reestr (id, date, org_id, rs, mfo, nom_doc, res_summ_kom, summ_komis,Out_summ, note) VALUES ("+nextIdReestr+",'"+date+"',3,'"+rs+"','"+mfo+"','"+Cso+"','"+resSumm_kom+"','"+summKomis+"','"+OutSummStr+"','"+note+"' ) ";
    ADOQueryWays->ExecSQL();


выдает ошибку invalid pointer addition
база ацесс, связь через адо
5
06 мая 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: FreeWay
Всем привет!
Подскажите пж почему такой запрос выдает ошибку

Пользуйтесь параметризированными запросами.

2.1K
06 мая 2009 года
FreeWay
142 / / 03.05.2007
Цитата: hardcase
Пользуйтесь параметризированными запросами.



эт понятно, но хотелось бы так, тем более что оч давно делал проэкт, и в нем:

 
Код:
ADOQueryFinde->Close();
ADOQueryFinde->SQL->Clear();
ADOQueryFinde->SQL->Text=("Select * From Base Where Cod="+sCod+"");
ADOQueryFinde->Open();


так вот нипонятно, как тут тогд аработает и не ругается
2.1K
06 мая 2009 года
FreeWay
142 / / 03.05.2007
Код:
ADOQueryWays->Close();
    ADOQueryWays->SQL->Clear();
    ADOQueryWays->SQL->Add("INSERT INTO Reestr ( datee, org_id, rs, mfo, nom_doc, res_summ_kom, summ_komis,Out_summ, note, exported) VALUES (:datee,:org_id,:rs,:mfo,:Cso,:resSumm_kom,:summKomis,:OutSummStr,:note, :exportt ) ");
    Main_f->ADOQueryWays->Parameters->ParamByName("datee")->Value=date;
    Main_f->ADOQueryWays->Parameters->ParamByName("org_id")->Value=3;
    Main_f->ADOQueryWays->Parameters->ParamByName("rs")->Value=rs;
    Main_f->ADOQueryWays->Parameters->ParamByName("mfo")->Value=mfo;
    Main_f->ADOQueryWays->Parameters->ParamByName("Cso")->Value=Cso;
    Main_f->ADOQueryWays->Parameters->ParamByName("resSumm_kom")->Value=resSumm_kom;
    Main_f->ADOQueryWays->Parameters->ParamByName("summKomis")->Value=summKomis;
    Main_f->ADOQueryWays->Parameters->ParamByName("OutSummStr")->Value=OutSummStr;
    Main_f->ADOQueryWays->Parameters->ParamByName("note")->Value=note;
    Main_f->ADOQueryWays->Parameters->ParamByName("exportt")->Value=0;
    ShowMessage(ADOQueryWays->SQL->Text);
    ADOQueryWays->ExecSQL();

блин проштрыкался часа 2, при выполнении выдает ошибка синтаксиса при выполнении в инструкции insert into
и хоть ты ему тресни, уже 10 раз все попроверял, либо переработал, либо хз((((
2.1K
06 мая 2009 года
FreeWay
142 / / 03.05.2007
чуток перестроил
Код:
ADOQueryWays->Close();
    ADOQueryWays->SQL->Clear();
    Main_f->ADOQueryWays->Parameters->ParamByName("mydata")->Value=date;
    Main_f->ADOQueryWays->Parameters->ParamByName("org_id")->Value=3;
    Main_f->ADOQueryWays->Parameters->ParamByName("rs")->Value=rs;
    Main_f->ADOQueryWays->Parameters->ParamByName("mfo")->Value=mfo;
    Main_f->ADOQueryWays->Parameters->ParamByName("Cso")->Value=Cso;
    Main_f->ADOQueryWays->Parameters->ParamByName("resSumm_kom")->Value=resSumm_kom;
    Main_f->ADOQueryWays->Parameters->ParamByName("summKomis")->Value=summKomis;
    Main_f->ADOQueryWays->Parameters->ParamByName("OutSummStr")->Value=OutSummStr;
    Main_f->ADOQueryWays->Parameters->ParamByName("note")->Value=note;
    Main_f->ADOQueryWays->Parameters->ParamByName("exportt")->Value=0;
    ADOQueryWays->SQL->Add("INSERT INTO Reestr ( datee, org_id, rs, mfo, nom_doc, res_summ_kom, summ_komis,Out_summ, note, exported) VALUES (:mydata,:org_id,:rs,:mfo,:Cso,:resSumm_kom,:summKomis,:OutSummStr,:note, :exportt ) ");
    ShowMessage(ADOQueryWays->SQL->Text);
    ADOQueryWays->ExecSQL();

теперь почему то выдает - параметр mydata не найден(
315
07 мая 2009 года
Nick_M
399 / / 29.05.2003
А как присвоится значение параметру, который еще не создан?
Отталкиваться надо от этого:
Код:
ADOQueryWays->Close();
    ADOQueryWays->SQL->Clear();
    ADOQueryWays->SQL->Add("INSERT INTO Reestr ( datee, org_id, rs, mfo, nom_doc, res_summ_kom, summ_komis,Out_summ, note, exported) VALUES (:datee,:org_id,:rs,:mfo,:Cso,:resSumm_kom,:summKomis,:OutSummStr,:note, :exportt ) ");
    Main_f->ADOQueryWays->Parameters->ParamByName("datee")->Value=date;
    Main_f->ADOQueryWays->Parameters->ParamByName("org_id")->Value=3;
    Main_f->ADOQueryWays->Parameters->ParamByName("rs")->Value=rs;
    Main_f->ADOQueryWays->Parameters->ParamByName("mfo")->Value=mfo;
    Main_f->ADOQueryWays->Parameters->ParamByName("Cso")->Value=Cso;
    Main_f->ADOQueryWays->Parameters->ParamByName("resSumm_kom")->Value=resSumm_kom;
    Main_f->ADOQueryWays->Parameters->ParamByName("summKomis")->Value=summKomis;
    Main_f->ADOQueryWays->Parameters->ParamByName("OutSummStr")->Value=OutSummStr;
    Main_f->ADOQueryWays->Parameters->ParamByName("note")->Value=note;
    Main_f->ADOQueryWays->Parameters->ParamByName("exportt")->Value=0;
    ShowMessage(ADOQueryWays->SQL->Text);
    ADOQueryWays->ExecSQL();

Добавлять по одному параметру чтобы выяснить на каком именно параметре происходит затык (скорее всего это будет дата). Дальше думать
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог