![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при выполнении нескольких запросов через 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]
> Может кто знает как обойти ошибку?
Очень просто. Не использовать для выполнения скрипта компонент, для этого не предназначенный.