NanKol
Что произойдёт, если мы завершим выполнение программы предварительно закрыв соединение, но без доступа в интернет?
Ничего не понял. Ты собрался отключаться от базы данных без закрытия курсора и без коммита транзакции? Ну потеряешь данные, которые ты там якобы поназаписывал в базу. Они просто не запишутся в базу. Соединение будет висеть ещё какое-то время, потом СУБД обнаружит, что оно дохлое и очистит его и закроет. В процессе этого есть малая вероятность, что кто-то с твоими данными подключится к базе данных и она будет думать, что это ты продолжаешь с ней работать. Вообще, там надо протокол прочитать. В них обычно более подробно всё указано и формально описано. Но поймёшь ли ты эти описания?
Вот он описан у них на сайте
https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_PROTOCOL.htmlТак что общее правило: всё закрывай в том же (в обратном) порядке, в котором открывал, и отключайся в том же (в обратном) порядке, в котором подключался.
Пример (на псевдокоде)
open connection
connect to database
open database cursor
make database operations
commit database transaction
close database cursor
disconnect from database
close connection