Войти



Поиск

Реклама

Регистрация визы в россии, полезная информация.ванная мебель акватон

Полезное:

Новые статьи

Опечатка?

Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!

Счетчики


проект Windows Forms

Если вы помещаете весь ваш код доступа к данным, включая классы определения типизированных наборов данных, в отдельную библиотеку классов (как и следует поступать, имея в виду хорошую архитектуру многоуровневого приложения), файл app.config все равно будет включен в состав проекта. В нем будут содержаться строки соединения для адаптеров таблиц и класс Settings, свойства которого обеспечивают доступ к строкам соединения. При этом, однако, файл app.config не будет скопирован в выходную папку при сборке проекта, поскольку конфигурационные файлы в Windows-приложениях могут ассоциироваться только с исполняемыми файлами. Если вы затем в проекте Windows Forms установите ссылку на эту библиотеку классов и обратитесь к методам адаптера таблицы в коде своего приложения, соединения адаптера таблиц будут использовать строки соединения, жестко закодированные в качестве умолчаний класса Settings в библиотеке классов доступа к данным.

Если вы хотите изменить конфигурацию соединений в вашем приложении, то необходимо добавить информацию строк соединения в файл конфигурации приложения Windows Forms. Простейший способ это сделать состоит в том, чтобы скопировать файл app.config из проекта уровня доступа к данным в проект Windows Forms, если его еще там нет. Если в проекте Windows Forms файл app.config уже имеется, то просто скопируйте раздел connectionstrings из файла app.config в проекте уровня доступа к данным в файл app.config проекта Windows Forms. Тогда любые изменения, которые вы внесете в конфигурационный раздел connectionstrings в проекте Windows Forms, будут использованы адаптерами таблиц на уровне доступа к данным, поскольку они будут загружаться через класс Settings уровня доступа.

Если вам требуется дополнительный программный контроль над соединениями во время исполнения, то придется добавить немного кода в сборку, где находятся определения типизированных наборов данных. В листинге 2.4 внутреннее свойство адаптера таблицы с именем Connection обеспечивает доступ к объекту SqlConnection, который используется адаптером. Если вы добавляете код в проект, содержащий типизированный набор данных с доступом к этому свойству, вы можете динамически устанавливать или модифицировать объект соединения. Есть два способа это сделать: в отдельном вспомогательном классе или же определить собственный отдельный файл неполного класса для класса адаптера таблицы и включить в него метод или свойство с отличающимся именем для доступа к закрытой переменной, содержащей соединение. Вы увидите пример расширения неполного класса адаптера таблицы в разделе о поддержке транзакций.

Статические методы GetConnection и SetConnection принимают параметр CustomersTableAdapter, который используется для доступа к элементам класса. Метод SetConnection принимает еще объект SqlConnection, который используется для установки текущего соединения адаптера. Поскольку свойство Connection объявлено как внутреннее в классе адаптера таблицы, оно доступно для методов других классов в той сборке, куда входят эти методы вспомогательного класса. Таким образом, методы вспомогательного класса могут получать или устанавливать соединение через ссылку на адаптер таблицы, хотя код вне сборки этого делать не может (я полагаю, что разработчикам следовало сделать свойство Connection открытым, чтобы избежать этих сложностей, но выбор разработчиков склонился к большей инкапсуляции, поэтому в случае доступа к соединению из других сборок придется писать дополнительный код.)




Newer news items:
Older news items:

 
Главная Страница Контактная Информация Поиск по сайту Контактная Информация Поиск по сайту