Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ADOQuery with parametrs, при попытке выполнить UPDATE throw error 
:(
    Опции темы
smily
Дата 13.12.2011, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



в приложении пытаюсь сделать апдейт Blob поля в БД (DB2)

Код

ADOQuery5.Parameters.Clear;
ADOQuery5.Parameters.Refresh;
ADOQuery5.SQL.Clear;
ADOQuery5.Close;
ADOQuery5.SQL.Add('update db2admin.R_MAIN set DOC=:DOC1');
ADOQuery5.Parameters.ParseSQL(ADOQuery5.SQL.Text,true);
ADOQuery5.Parameters.ParamByName('DOC1').LoadFromFile(Form5.DelSymbol(Form5.FilenameEdit1.Text),ftBlob);
ADOQuery5.ExecSQL;                             


при компиляции вылетает: exception class EOleException with message 'Аргументы имеют неверный тип, выходят  за пределы допустимого диапазона или вступают в конфликт друг с другом'.

вылетает ошибка на 5 строчке примера, что повергает меня в недоумение, ведь запрос ещё даже не выполняется, а просто формируется строка запроса.

ЗЫ абсолютно та же конструкция отлично работает при INSERTе... 

ЗЫЗЫ заранее thx



Это сообщение отредактировал(а) smily - 13.12.2011, 10:46
PM MAIL   Вверх
vovk
Дата 13.12.2011, 05:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Возможно стоит сначала закрыть датасет, а потом проводить все манипуляции ?
Код

[color=red]ADOQuery5.Close;[/color]

ADOQuery5.Parameters.Clear;
ADOQuery5.Parameters.Refresh;
ADOQuery5.SQL.Clear;



Хотя это стоит делать только если он содержит данные из предыдущегозапроса, иначе вообще от close смысла нет.

Это сообщение отредактировал(а) vovk - 13.12.2011, 05:12
PM MAIL   Вверх
smily
Дата 13.12.2011, 05:45 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(vovk @ 13.12.2011,  05:09)
Возможно стоит сначала закрыть датасет, а потом проводить все манипуляции ?
Код

[color=red]ADOQuery5.Close;[/color]

ADOQuery5.Parameters.Clear;
ADOQuery5.Parameters.Refresh;
ADOQuery5.SQL.Clear;



Хотя это стоит делать только если он содержит данные из предыдущегозапроса, иначе вообще от close смысла нет.

ну это не критично
PM MAIL   Вверх
Данкинг
Дата 13.12.2011, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Может, как-нибудь так?
Код

ADOQuery5.Parameters.ParamByName('DOC1').AsVariant:=LoadFromFile(Form5.DelSymbol(Form5.FilenameEdit1.Text),ftBlob);



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 13.12.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



smily, тебе уже ли ответ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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