Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при выполнении нескольких запросов через dbExpress [D7]


Lezha ©   (2006-07-09 14:37:00) 

В общем, задача несложная. Беру из БД скрипт, загоняю его в квери: SQLQuery1.SQL := ...
Проблема в том, что один запрос выполняется нормально, но если их несколько, например:
DELETE FROM tbl1 WHERE Key = 1;
DELETE FROM tbl2 WHERE Key = 3;

В этом случае СУБД (Оракл) выдает ошибку. Текст не помню, но смысл в том, что она возникает из-за точки с запятой. Без ";" тоже ошибка. Если выполнять запрос напрямую -- все работает.

Может кто знает как обойти ошибку? Синтаксис разбирать не хочется, чтоб делать запросы. Пока есть идея запускать SQL+ и через командную строку передавать текст запроса, но это оч неудобно, а также при возникновении ошибки, надо отлавливать текст ее сообщения.

Тех. инфо: Дельфи 7.1, технология доступа: dbExpress, СУБД: Oracle (по-моему 9, но точно не знаю).


Desdechado   (2006-07-09 19:36:00) [1]

А что, разобрать на команды скрипт тяжело, что ли?
Особенно, если он не содержит создания метаданных, атолько манипулирование ими.
Тогда его вообще можно втолкать в безымянный блок BEGIN END и выполнить, как одну команду.


Johnmen   (2006-07-09 17:28:00) [2]

Выполнять последовательно запросы из скрипта.


Lezha   (2006-07-09 16:23:00) [3]

Но тогда какой компонент для этого предназначен? Наскольно я понял, все компоненты Дельфи для работы с БД могут выполнять только один запрос за раз.

Но что же тогда делать :( Может есть сторонние компоненты?


Johnmen   (2006-07-09 16:11:00) [4]


> Может кто знает как обойти ошибку?


Очень просто. Не использовать для выполнения скрипта компонент, для этого не предназначенный.


Наверх

Титульная страница Поиск, карта сайта Написать письмо