Функции вложения файлов БД и прочее
Ну вот, очередной день близок к своему окончанию. Работа сегодня была разнообразной. То есть приходилось реализовывать разные функции главного окна программы. И переносом кода я сегодня занимался не только из прошлой версии программы, но уже и из позапрошлой! Вот как. А позапрошлая версия программы у меня ещё к прошлому лету была полностью закончена (весь функционал там реализован). И у меня были большие надежды ту версию уже выпустить на рынок. Дело уже дошло до этапа тестирования. Второго этапа, после завершения разработки функционала. Но облом случился звонкий. Уже в начале тестирования вылезли большие проблемы. Увы, но качество той версии получилось, мягко сказать, не фонтан. Архитектура получилась запутанной и слишком громоздкой. Там явно был нагроможден лишний функционал, без которого можно было первое время обойтись. То есть исправить все горбы там было бы делом крайне затруднительным и неудобным. Программа работала с большими косяками. И вместо выпуска на рынок пришлось заниматься очередным глобальным её переделыванием, что было гораздо проще, чем всё это исправлять.
Так что пошло, поехало. Переделывание полное и глобальное. Добрался до реализации контрола для отображения таблиц. Потом постепенно выяснилось, что и на сей раз получился хлам, но всё же лучше, чем предыдущий хлам. И это снова пришлось глобально переделывать. И вот нынче работаем над последней версией программы, которая выглядит более обнадеживающей. Теперь то, что было плохо в позапрошлой версии программы, работает исправно. Но работы всё еще много.
И вот, сегодня, реализованы были несколько функций. Для вложения файлов БД в текущее подключение; для отсоединения этих вложенных файлов; для управления вложенными файлами - на верхнем скриншоте показано диалоговое окно менеджера вложенных баз данных. Вот как раз это окно я и перенес уже из позапрошлой версии программы. Потому как в прошлой версии я до этого окна ещё не добрался. Странно, поспешил там перейти к реализации контрола отображения таблиц, но до более базовых функций, вроде вложения файлов к подключению не реализовал. Поспешил, как говориться. Так что вот такие пироги.
Ну и ещё сделал сегодня функции для удаления объектов из БД по их привязки к таблице. Например, удаление всех представлений, которые ссылаются на выбранную таблицу. Ну и еще индексов и триггеров. И ещё удаление всех ограничений из таблицы. Ну и ещё функции для управления транзакциями. Да, это значимые функции в БД. Это по аналогии, например, с текстовыми редакторами. Редактируете текст, вносите одно изменение, потом другой. И там можно поочередно отменять эти изменения, вызывая команду возврата или отката (Undo). Ну так вот, я реализован нечто похожее, но в отношении базы данных SQLite. Там нужно запустить транзакцию сначала. Не так, чтобы это было автоматом. Но автоматом, конечно, сделать можно. Но пока так. Во время работы с БД во время запущенной транзакции производятся фиксации всех изменений в этой БД. При этом каждое изменение можно откатить. Ну а когда все требуемые изменения будут произведены, то транзакцию необходимо будет завершить, иначе изменения не вступят в силу. Так что вот так.
Ну и пока что вот это всё. На сегодня. И я вот снова вплотную подошел к реализации контрола для отображения таблиц. Снова. Так что будем клепать.И на этот раз я тоже выкину оттуда всё излишнее. Уж много я там тоже нагородил в прошлой версии программы. Будем делать чуть лаконичнее, зато надежнее.
Так что теперь уже заканчиваем на сегодня. ну и до новых постов и до новых свершений.

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.