Bonpoc: Ниже представлен код, в котором используется управление транзакциями для добавления нового проекта и задач в базу данных. import sqlite3 def demotransactions(dbname): connection = sqlite3.connect(dbname) cursor = connection.cursor() try:
- Программирование
Условие:
Bonpoc:
Ниже представлен код, в котором используется управление транзакциями для добавления нового проекта и задач в базу данных.
import sqlite3
def demotransactions(dbname):
connection = sqlite3.connect(dbname)
cursor = connection.cursor()
try:
cursor.execute('"
INSERT INTO projects (name, description, deadline)
VALUES ('Project Y', 'Описание проекта Y', '2024-11-01')
"')
cursor.execute('"
INSERT INTO tasks (priority, description, status, deadline, completed, project)
VALUES
(1, 'Задача 1 для Project Y\prime ', 'pending', '2024-10-15', NULL, 'Project Y\prime ),
(2, 'Задача 2 для Project Y', 'in progress', '2024-10-30', NULL, 'Project Y')
'")
raise sqlite3.Error("Искусственная ошибка для демонстрации rollback.")
connection.commit()
print("Изменения сохранены в базе данных.")
except sqlite3.Error as e:
\# В случае ошибки откат всех изменений
print(f"Ошибка: \{e\}. Откат изменений...")
connection.rollback()
finally:
connection.close()
if name == "main":
demotransactions('projectsandtasks.db')
Что произойдет, если возникает ошибка при выполнении транзакции?
Tun omsema: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Код выполнит откат всех изменений, если возникает ошибка при вставке данных или искусственная ошибка.
Код завершится с ошибкой, но изменения будут сохранены в базе данных, даже если возникнет ошибка.
Код не выполнит откат изменений, даже если возникает ошибка, и данные будут сохранены.
Искусственная ошибка в коде не вызовет откат изменений, и транзакция будет завершена успешно.
Решение:
Рассмотрим пошагово, что происходит в данном коде: 1. Подключается база данных с помощью sqlite3.connect и создается объект курсора. 2. В блоке try выполняется два запроса INSERT – один для таблицы projects и другой для таблицы tasks. 3. После выполнения запросов искусственно вызывает...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства