Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при добавлении в БД Access, исключение класса EOleExeception и EData 
:(
    Опции темы
dize
  Дата 11.7.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



При попытке добавить данные вв таблицу получаю две ошибки:
1.Проект Project1.exe вызвал исключение класса EOleExeception с сообщением "Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции". Процесс остановлен...

Нажимаю "Ок" и Run. Вылетает вторая:

2.Проект Project1.exe вызвал исключение класса EDatabaseError с сообщением 'ADOQ_new: CommandText does not return a result set'. Процесс остановлен...

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

Переменная sql получается правильная (пробовал запускать ее результат в Access'е).

Код добавления:
Код

//массивы query, id_clients и остальные переменные инициализируются выше в программе
//вставка группы заказов
  for i:=0 to count do
  begin
    sql:= 'INSERT INTO New_Order ( Account, Kod_klienta, Type, CLASSCODE, Kod_bumagi, [Action], OPERATION, Order_Price, Quantity, Reverse, Ostatki ) VALUES ("L01-00000F00", "'+id_clients[i]+'", "L", "'+class_code+'", "'+id_paper+'", "NEW_ORDER", "'+query[2]+'", "'+query[3]+'", "'+query[4]+'", "0", "0")';
    
    ADOQ_new.Close;
    ADOQ_new.SQL.Clear;
    ADOQ_new.SQL.Text:=sql;
    ADOQ_new.Open;
  end;

--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
former
Дата 12.7.2009, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



А зачем такое, даже не знаю как назвать, устраивать?
В тексте запроса используй параметры. Сам запрос укажи один раз до цикла. А в самом цикле присваивай значения параметрам запроса и делай Post.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
dize
Дата 12.7.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А я разве не в текст запроса вставляю параметры? Или про какие параметры мы говорим? Я честно говоря с делфи не очень дружу, просто пришлось писать на нем.. 
Если не сложно напиши небольшой примерчик, или ссылочку дай, где можно почитать про это..
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
former
Дата 13.7.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



dize, Delphi тут не не причем.
Я имел виду параметры SQL запроса.
Вот простой пример:
Код

    ADOQ_new.Close;
    ADOQ_new.SQL.Clear;
    ADOQ_new.SQL.Text:='INSERT INTO TESTTBL (LASTNAME, FIRSTNAME, FATHERNAME) VALUES (:LASTNAME, '+   
                                         ':FIRSTNAME, :FATHERNAME)';
  for i:=0 to count do
    begin    
        ADOQ_new.Parametrs[0].AsString:=Edit1.Text; //или ADOQ_new.ParamByName('LASTNAME').AsString:=Edit1.Text;
        ADOQ_new.Parametrs[1].AsString:=Edit2.Text;
        ADOQ_new.Parametrs[2].AsString:=Edit3.Text;
       ADOQ_new.ExecQuery;
    end;


Примерно так. Мог ошибиться в коде.



--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
flomaster
Дата 19.7.2009, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дело не в параметрах, а в замене
Код

ADOQ_new.Open;
//на
ADOQ_new.ExecQuery;

Insert не возвращает набор данных, поэтому и возникала ошибка.

Это сообщение отредактировал(а) flomaster - 19.7.2009, 02:04
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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