символ ";" вызывает ошибку в запросе, хочу выполнить запрос со вставкой/удалением нескольких строк |
Здравствуйте, гость ( Вход | Регистрация )
символ ";" вызывает ошибку в запросе, хочу выполнить запрос со вставкой/удалением нескольких строк |
FantasyOr |
12.5.2011, 16:38
Сообщение
#1
|
Студент Группа: Участник Сообщений: 75 Регистрация: 13.8.2010 Пользователь №: 1956 Спасибо сказали: 4 раз(а) Репутация: 0 |
Здравствуйте.
Работаю с oracle, моделью непользуюсь, использую QSqlQuery. есть желание в одном запросе добавлять/удалять несколько строк "insert into ADDRESSEES(ADR_ID, FULL_NAME, PRIORITY_CHANNEL, PRIORITY_FORMAT) values( 10, 'ZOI4', 2, 0); insert into ADDRESSEES(ADR_ID, FULL_NAME, PRIORITY_CHANNEL, PRIORITY_FORMAT) values( 11, 'ZORG', 1, 1); insert into ADDRESSEES(ADR_ID, FULL_NAME, PRIORITY_CHANNEL, PRIORITY_FORMAT) values( 12, 'MOPS', 1, 0);" дабы не беспокоить сервер по пустякам много раз. Этот запрос не выполняется, пишется ошибка "ORA-00911: invalid character Unable to execute statment" проблема точно в ";", ибо когда оставляю 1 insert, без ";" - запрос выполняется, когда дописываю ";" - появляется эта ошибка. Может кто боролся с этой ошибкой? подскажите пожалуйста. //----------------------------------- bind'ы не предлагать, их все равно приходится по одной записи exec'лить (простите меня за мой французский) есть: bool QSqlQuery::execBatch ( BatchExecutionMode mode = ValuesAsRows ) но он как-то странно (нелогично с моей точки зрения) работает. Пример из документации:
The example above inserts four new rows into myTable: 1 Harald 2 Boris 3 Trond 4 NULL т.о. нужно находить данные поколонково, что странно(нелогично с моей точки зрения). у execBatch есть параметр: //-------- QSqlQuery::ValuesAsRows - Updates multiple rows. Treats every entry in a QVariantList as a value for updating the next row. QSqlQuery::ValuesAsColumns - Updates a single row. Treats every entry in a QVariantList as a single value of an array type. //-------- и все бы хорошо, но напрягает вот что: ValuesAsColumns - Updates a single row... и как быть... подскажите пожалуйста. |
|
|
Текстовая версия | Сейчас: 1.12.2024, 12:45 |