Добрый день, Я пытаюсь создать приложение для форм Windows, которое требует подключения к одной из наших баз данных.Приложение Windows Forms C#: добавление глобальных переменных:
Я могу подключиться к базе данных с помощью объектов System.Data.Odbc.
У меня нет проблем с созданием объектов OdbcConnection в локальных функциях, их открытием, чтением данных и их закрытием. Однако для моих форм требуется множество запросов для отправки, поэтому я хочу избежать открытия и закрытия соединения каждый раз, когда я хочу запросить базу данных.
Теперь подход, который я хотел принять, состоял в том, чтобы объявить объект OdbcConnection как поле моего класса Forms, а затем открыть его в методе InitializeComponent(), чтобы соединение с базой данных было открытым на протяжении всей Формы и закройте его только при закрытии формы.
Но это проблема, потому что Visual Studio не хочет меня изменять что-либо в InitializeComponent(), все, что должно быть создано конструкцией формы от моего имени, поэтому я не могу самостоятельно открыть OdbcConnection.
Каков чистый способ выполнения этого?
Благодаря
Если вы используете '' command' и объекты Connection' Это лучше, чтобы открыть и закрыть соединение самостоятельно. Если вы используете 'DataAdapter', вы можете позволить адаптеру управлять состоянием соединения. –
Определите конкретный класс для этого и примените/используйте шаблон singleton. Подробнее здесь: [link] (http://csharpindepth.com/Articles/General/Singleton.aspx) – Maarten
@Maarten Я думаю, что совместное использование соединения - не очень хорошая идея. 'ADO.Net' будет делать это, используя объединение пулов, если потребуется. Но если OP хочет выполнить не такую хорошую работу, использование singleton - хорошее предложение. –