Язык SQL

Методы update, delete и insert


Чтобы удалить объект, связанный с результирующим множеством (п. 6 в 10.1), нужно просто позиционировать курсор и вызвать метод deleteRow. Полная реализация метода delete класса CustomerEditor приводится в строках 9—15 10.6.

Вставка новой строки (п. 7 в 10.1) немного сложнее. Каждое обновляемое результирующее множество имеет особую строку вставки (insert row), используемую для создания новой строки. Первый этап вставки заключается в перемещении курсора на строку вставки. На втором этапе обращения к методам обновления инициализируют поля строки вставки. Наконец, вызывается метод insertRow, чтобы добавить новую строку с этими значениями к базе данных. Метод insert класса CustomerService (строки 16—20 на 10.6) осуществляет вставку новой строки в таблицу Customer базы данных. Выдача сообщения об ошибке происходит в случаях, если результирующее множество не является обновляемым, если какое-либо из перечисленных полей не присутствует в результирующем множестве или если операция вставки завершилась неудачей. Можно вызвать метод moveToRememberedRow, чтобы переместить курсор обратно в строку, где он находился перед тем, как был вызван метод moveToInsertRow.

Операции вставки, обновления или удаления на результирующем множестве всегда влияют на базу данных. Будут ли воздействовать на результирующее множество обновления, произведенные в других сеансах, зависит от его объявленного типа. Если его тип при создании был указан как TYPE_SCROLL_INSENSITIVE, то на результирующее множество не будут влиять модификации базы данных, не применяемые непосредственно к результирующему множеству. В этом случае между результирующим множеством и базой данных могут возникнуть противоречия, которые можно разрешить только путем закрытия и повторного создания результирующего множества.

Комментарии закрыты