У меня всё происходит по такой схеме: Загружается таблица из БД в DataSet, меняются данные в DataSet'е, таблица обратно загружается в БД и удаляется из DataSet. И всё начинается снова.
Всё работает нормально, но с последней операцией — удаления таблицы из DataSet возникает постоянно путаница. Сложно определить тот момент, когда следует удалить таблицу из DataSet, т.к. данные раскиданы по многим переменным, передаются в результатах функций и отследить, когда работа с таблицей закончена достаточно сложно.
В общем, пару раз подбирался к решению этой проблемы, но вот вспомнилась такая вещь, как ручная сборка мусора в C++ и сколько она проблем с собой несёт. Правильна ли эта аналогия и действительно придется также мучится, как и с ручной сборкой мусора? И, может, есть тут и аналог автоматической сборки мусора, когда DataSet удалял бы таблицы автоматически, после того как ни осталось ни одной переменной, хранящей данные из этих таблиц?