Винду ставить не хочу и не буду принципиально.даже десятку можно дрессировать, при чем малыми усилиями.. но надо пройти ликбез. без вариантов ))
Заскриньте inner exceptionтам могут быть существенные пояснения
using
вроде бы и должен обеспечить закрытие, по окончанию обработки, но гарантии нет. и в любом случае - открывать/закрывать базу на каждый клик кнопки - не лучшая идея. обще принято открывать базу при старте программы, закрывать по завершению, а сохранять изменения - это да, не возбраняется в любом месте. разве что предпочтительно соблюсти баланс интенсивности дисковых операций (их бы поменьше) с важностью изменений (чем важнее, тем больше резона сохранить)