Как подключить бд к visual studio c
можно проверить подключение к базе данных или службе, а также изучить содержимое базы данных и схемы с помощью обозреватель сервера, Cloud Explorer или SQL Server обозревателя объектов. Функциональные возможности этих окон перекрываются в некоторой степени. Основные отличия:
установите это окно вручную в качестве расширения Visual Studio из Visual Studio Marketplace. Предоставляет специализированные функциональные возможности для изучения и подключения к службам Azure.
Обозреватель объектов SQL Server
Добавление подключения в обозреватель сервера
Чтобы создать подключение к базе данных, щелкните значок Добавить подключение в Обозреватель сервера или щелкните правой кнопкой мыши Обозреватель сервера в узле подключения к данным и выберите команду Добавить подключение. отсюда можно также подключиться к базе данных на другом сервере, SharePointной службе или службе Azure.
Откроется диалоговое окно Добавление соединения . здесь мы указали имя экземпляра SQL Server LocalDB.
Изменение поставщика
если вы используете Visual Studio 2022 для подключения к поставщикам данных OLEDB или ODBC, необходимо помнить, что Visual Studio 2022 теперь является 64-битным процессом.
это означает, что некоторые средства работы с данными в Visual Studio не смогут подключаться к базам данных OLEDB или ODBC с помощью 32-разрядных поставщиков данных. Сюда входит поставщик данных Microsoft Access 32-bit OLEDB, а также другие сторонние поставщики 32-bit.
если необходимо поддерживать 32-разрядные приложения, подключающиеся к OLEDB или ODBC, вы по-прежнему сможете создавать и запускать приложение с Visual Studio 2022. тем не менее, если необходимо использовать какие-либо инструменты Visual Studio данных, такие как обозреватель сервера, мастер источников данных или конструктор наборов данных, необходимо использовать более раннюю версию Visual Studio, которая все еще является 32-битным процессом. последняя версия Visual Studio, которая была 32-разрядным процессом, была Visual Studio 2019.
Если вы планируете преобразовать проект в 64-разрядный процесс, вам потребуется обновить подключения к данным OLEDB и ODBC, чтобы использовать 64-разрядные поставщики данных.
если приложение использует базы данных Microsoft Access и может преобразовать проект в 64-разрядный, рекомендуется использовать 64-разрядный ядро СУБД Microsoft access, также называемый модулем подключения Access (ACE). Дополнительные сведения см. в разделе поставщик OLE DB для Jet и драйвер ODBC — 32-разрядные версии .
Если вы используете сторонний поставщик данных, мы рекомендуем подключиться к поставщику, чтобы узнать, предлагают ли они 64-разрядный поставщик перед преобразованием проекта в 64-разрядный.
Проверка подключения
После выбора источника данных нажмите кнопку проверить соединение. Если это не удается, вам потребуется устранить неполадки, используя документацию поставщика.
если тест выполнен, можно приступать к созданию источника данных, который является Visual Studio термином, который на самом деле означает модель данных , основанную на базовой базе данных или службе.
Подключение базы данных Microsoft Access к приложению в Microsoft Visual Studio
⇑
Выполнение
1. Создание приложения типа Windows Forms Application .
⇑
2. Вызов мастера подключения.
Рисунок. 1. Вызов мастера подключения к файлу базы данных
⇑
3. Выбор типа источника данных.
В результате откроется окно мастера для подключения к источнику данных которое изображено на рис. 2.
Рисунок. 2. Выбор типа подключения из которого приложение будет получать данные
В окне необходимо выбрать один из четырех возможных вариантов подключения к источнику данных. В MS Visual Studio существует четыре типа подключения к источникам данных:
- Database – подключение к базе данных и выбор объектов базы данных;
- Service – открывает диалоговое окно Add Service Reference позволяющее создать соединение с сервисом, который возвращает данные для вашей программы;
- Object – позволяет выбрать объекты нашего приложения, которые в дальнейшем могут быть использованы для создания элементов управления ( controls ) с привязкой к данным;
- Share Point – позволяет подключиться к сайту SharePoint и выбрать объекты для вашей программы.
В нашем случае выбираем элемент Database и продолжаем нажатием на кнопке Next .
⇑
4. Выбор модели подключения к базе данных.
Следующий шаг – выбор модели подключения к базе данных (рис. 3).
Рис. 3. Выбор модели подключения к базе данных
Система предлагает выбор одного из двух вариантов:
- модели данных на основе набора данных ( Dataset );
- модели данных Entity , что означает, что система может сгенерировать модель данных из базы данных которой могут выступать сервера баз данных Microsoft SQL Server , Microsoftt SQL Server Compact 3.5 или Microsoft SQL Server Database File , либо создать пустую модель как отправную точку для визуального проектирования концептуальной модели с помощью панели инструментов.
В нашем случае выбираем тип модели данных DataSet .
⇑
5. Задание соединения с БД.
Следующим шагом мастера (рис. 4) есть выбор соединения данных которое должно использоваться приложением для соединения с базой данных.
Рис. 4. Выбор соединения с базой данных
Рис. 5. Добавление нового соединения и выбор файла базы данных
Рис. 6. Смена источника данных
В окне на рисунке 6 системой Microsoft Visual Studio будет предложено следующие виды источников данных:
- Microsoft Access Database File – база данных Microsoft Access ;
- Microsoft ODBC Data Source – доступ к базе данных с помощью программного интерфейса ODBC ( Open Database Connectivity );
- Microsoft SQL Server ;
- Microsoft SQL Server Compact 3.5 ;
- Microsoft SQL Server Database File ;
- Oracle Database – база данных Oracle .
Рис. 8. Строка Connection string
В этом каталоге размещаются все основные исходные модули проекта, например Program.cs (модуль, содержащий основную функцию WinMain() ) , Form1.cs (содержит исходный код обработки главной формы приложения) и другие.
Рисунок 9. Окно добавления файла базы данных в проект
⇑
6. Формирование конфигурационного файла приложения.
Рисунок 10. Предложение записи строки подключения к базе данных в конфигурационный файл приложения
Ничего не изменяем, оставляем все как есть (кликаем на Next ).
⇑
7. Выбор объектов базы данных для использования в программе
Последнее окно мастера (рисунок 11) предлагает выбрать список объектов (таблиц, запросов, макросов, форм и т.д.), которые будут использоваться в наборе данных. Как правило выбираем все таблицы базы данных. В нашем примере база данных содержит всего одну таблицу с именем Tovar .
Рисунок 11. Выбор объектов базы данных, которые будут использоваться в данном наборе данных
⇑
8. Что же изменилось в программе после выполнения мастера?
Если выбрать панель Data Source (рисунок 12), то можно увидеть, как подключен набор данных с именем db1Dataset в котором есть таблица с именем Tovar .
Рисунок 12. Окно DataSources содержит подключение к базе данных
Рис. 13. Окно приложения с изменениями в панели Server Explorer
⇑
9. Подключение методов оперирования базой данных.
Для того, чтобы использовать методы, которые будут работать с базой данных MS Access (и не только MS Access ), необходимо подключить пространство имен System.Data.OleDb .
Для этого в основной форме ( Form1.cs ) в Solution Explorer выбираем режим просмотра кода (View Code) из контекстного меню (рис. 14) и вначале файла добавляем следующую строку:
Рисунок 14. Вызов программного кода главной формы приложения ( Form1.cs ) с помощью Solution Explorer
Общий вид верхней части файла Form1.cs будет следующим:
На этом этапе подключение к базе данных db1.mdb выполнено. Дальнейшими шагами есть создание программного кода для оперирования данными в базе данных.
1. Создание базы данных
В качестве СУБД выберем программу Microsoft Access. Но вы можете использовать и другую базу данных.
Создаем базу данных в Microsoft Access и называем её «test». В этой базе данных создаем таблицу «contacts»:
Заполните базу данных данными:
Базу данных вы можете и другую создать и данные в ней можете другие добавить т.к. это не принципиально, но мы будем работать с данной таблицей.
2. Создание проекта
В Visual Studio создаём проект:
Открываем список «Выберите источник данных» и нажимаем на ссылку «Добавить источник данных проекта»:
Откроется «Мастер настройки источника данных». В качестве источника выбираем «База данных» и идем далее:
В следующем окне идем далее:
В окне «Выбор подключения к базе данных» нажимаем на «Создать подключение»:
В следующем окне «Добавить подключение» выбираем в «Поставщик OLE DB» Microsoft Office 16.0 Access Database. В «Имя сервера или файла» вписываем путь к нашему файлу базы данных Access (который создали в первом пункте). Проверяем подключение и жмем «ОК»:
Update 2021: Visual Studio 2019 требует файл Access старого формата (.mdb – это старый формат баз данных Access 2002-2003):
В следующем окне идем далее:
Выйдет окно для переноса файла базы данных в Ваш проект нажимаем «Да»:
В следующем окне ничего не меняем и идем далее:
В следующем окне выбираем нашу таблицу «contacts» и жмем «Готово»:
После всех манипуляций наша форма должна быть примерно такой:
Если запустить наш проект, то можно увидать данные из нашей базы данных:
Поменяйте ширину всех столбцов на «150» чтобы столбцы вместились во все окно:
Вот так без единой строчки кода мы вывели данные из нашей таблицы на нужную нам форму. Переходим к 3 пункту.
3. Сохранение данных
Базу данных мы видим, но редактировать её невозможно и именно поэтому нам нужна кнопка «Сохранить». Добавляем на форму кнопку и в свойствах меняем имя на «SaveButton». После добавления кнопки нажимаем на нее два раза и пишем код:
После добавления кода запустите свое приложение и попробуйте изменить любую запись и сохранить.
4. Изменение заголовков столбцов таблицы
Изменим текст столбцов и скроем столбец «img»:
Полезные свойства для изменения столбцов:
- HeaderText – задает название столбца.
- Visible – скрывает заголовок или наоборот.
- Width – ширина столбца.
- Resizable – можно ли изменять ширину столбца.
После того как скроете заголовок «img» измените ширину всех остальных заголовков:
5. Защита от случайного удаления
Чтобы пользователь случайно не удалил запись в нашей базе данных нужно сделать так чтобы перед удалением приложение спрашивало об удалении записи.
Для этого перейдем к компоненту DataGridView, откроем список событий и установим обработчик для события UserDeletingRow. Нажмите два раза на пустую строчку возле события и перейдете к коду. Вписываем код:
После этого проверим работоспособность данного кода. Запустим приложение и попробуем удалить запись. Должно быть вот так:
6. Добавление данных
Добавляем новую форму в проект и называем ее «AddForm»:
Изменяем заголовок формы и добавляем на форму компоненты:
- 1 groupBox c текстом «Добавление записи»;
- 4 TextBox и меняем свойство «Name» на (tbName, tbPhone, tbMail, tbPhoto);
- 4 label и меняем текст на (Имя, Телефон, E-mail, Фото);
- 1 Button и меняем свойство «Name» на «AddBtn» (Добавить);
- 1 Button и меняем свойство «Name» на «CloseBtn» (Закрыть).
Переходим на главную форму и добавляем кнопку «Добавить» для добавления новой записи. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:
Проверьте работоспособность приложения:
Возвращаемся на форму «Добавления записи». Пишем обработчик событий для кнопки «CloseBtn»:
Чтобы обработчик событий на кнопке «AddBtn» работал как надо нужно выполнить несколько действий. Зайти в «Form1.Designer.cs» и изменить модификаторы доступа на «public» нижеуказанных файлов:
- System.Windows.Forms.DataGridView dataGridView1;
- testDataSet testDataSet;
- System.Windows.Forms.BindingSource contactsBindingSource;
- testDataSetTableAdapters.contactsTableAdapter contactsTableAdapter;
Это нужно для того чтобы наша база данных была доступна для разных с ней манипуляций во всех создаваемых нами формах. Обработчик событий для кнопки «AddBtn»:
Проверьте работу приложения. Добавьте несколько новых записей через новую форму добавления записей.
7. Поиск данных
Реализуем самый простой поиск. Данный поиск используется в небольших приложениях. Создаем новую форму с именем «SearchForm» и добавляем на форму компоненты:
- 1 GroupBox (Поиск);
- 1 label;
- 2 button (Найти и Закрыть);
- 1 TextBox и меняем в свойствах «Name» на «tbStr».
Переходим на главную форму и добавляем кнопку «Найти» для поиска записей. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:
Проверяем работоспособность приложения:
Возвращаемся на форму «Поиска». Пишем обработчик событий для кнопки «Закрыть»:
Пишем обработчик событий для кнопки «Найти»:
На главную форму добавляем кнопку «Выход» и пишем для нее код:
Итоговая форма приложения:
Подключиться к базе данных Access ( MDB -файлу или ACCDB -файлу) можно с помощью Visual Studio. После того как определено подключение, источник данных отображается в окне Источник данных. После этого можно перетаскивать таблицы или представления в область конструктора.
если вы используете Visual Studio для подключения к базам данных Access, необходимо помнить, что версии Visual Studio до Visual Studio 2022 являются всеми 32-разрядными процессами.
это означает, что некоторые средства работы с данными в Visual Studio смогут подключаться только к базам данных Access с помощью 32-разрядных поставщиков данных.
если вы используете Visual Studio для подключения к базам данных Access, необходимо помнить, что версии Visual Studio до Visual Studio 2022 являются всеми 32-разрядными процессами. это означает, что некоторые инструменты для работы с данными в Visual Studio 2019 и более ранних версий смогут подключаться только к базам данных Access с помощью 32-разрядных поставщиков данных.
если вы используете Visual Studio 2022 для подключения к базам данных Access, необходимо помнить, что Visual Studio 2022 теперь является 64-битным процессом. это означает, что некоторые средства работы с данными в Visual Studio не смогут подключаться к базам данных Access с помощью 32-разрядных поставщиков данных.
если необходимо поддерживать 32-разрядные приложения, подключающиеся к базам данных Access, вы по-прежнему сможете создавать и запускать приложение с Visual Studio 2022. тем не менее, если необходимо использовать какие-либо инструменты Visual Studio данных, такие как обозреватель сервера, мастер источников данных или конструктор наборов данных, необходимо использовать более раннюю версию Visual Studio, которая все еще является 32-битным процессом. последняя версия Visual Studio, которая была 32-разрядным процессом, была Visual Studio 2019.
если вы планируете преобразовать проект в 64-разрядный процесс, рекомендуется использовать 64-разрядный ядро СУБД Microsoft access, также именуемый подсистемой подключения Access (ACE). Дополнительные сведения см. в разделе поставщик OLE DB для Jet и драйвер ODBC — 32-разрядные версии .
Предварительные требования
чтобы использовать эти процедуры, необходим проект Windows Forms или WPF и база данных access (accdb -файл) или база данных access 2000-2003 (mdb -файл). Выполните процедуру, соответствующую типу файла.
Создание набора данных для ACCDB-файла
Подключение к базам данных, созданным с помощью Microsoft 365, Access 2016, доступа 2013, access 2010 или access 2007 с помощью следующей процедуры.
откройте проект приложения Windows Forms или WPF в Visual Studio.
Чтобы открыть окно " Источники данных ", нажмите клавиши CTRL + Q, введите "данные" в поле поиска и выберите окно " Источники данных ". в меню вид выберите другие Windows > источники данных. Или нажмите клавиши SHIFT + ALT + D.
В окне Источники данных выберите Добавить новый источник данных.
Откроется Мастер настройки источника данных .
На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.
На странице Выбор модели базы данных выберите набор данных , а затем нажмите кнопку Далее.
На странице Выбор подключения базы данных выберите Новое подключение для настройки нового подключения к данным.
Откроется диалоговое окно Добавление соединения.
Если источник данных не установлен в файл базы данных Microsoft Access, нажмите кнопку изменить .
Введите имя пользователя и пароль (при необходимости) и нажмите кнопку ОК.
На странице Выбор подключения к данным нажмите кнопку Далее .
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите таблицы или представления, которые необходимо включить в набор данных, а затем нажмите кнопку Готово.
Объект DataSet добавляется в проект, и таблицы и представления отображаются в окне Источники данных.
Создание набора данных для ACCDB-файла
Подключение к базам данных, созданным с помощью Microsoft 365, Access 2016, доступа 2013, access 2010 или access 2007 с помощью следующей процедуры.
откройте проект приложения Windows Forms или WPF в Visual Studio.
Чтобы открыть окно " Источники данных ", нажмите клавиши CTRL + Q, введите "данные" в поле поиска и выберите окно " Источники данных ". в меню вид выберите другие Windows > источники данных. Или нажмите клавиши SHIFT + ALT + D.
В окне Источники данных выберите Добавить новый источник данных.
Откроется Мастер настройки источника данных .
На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.
На странице Выбор модели базы данных выберите набор данных , а затем нажмите кнопку Далее.
На странице Выбор подключения базы данных выберите Новое подключение для настройки нового подключения к данным.
Откроется диалоговое окно Добавление соединения.
Если источник данных не установлен в файл базы данных Microsoft Access, нажмите кнопку изменить .
Введите имя пользователя и пароль (при необходимости) и нажмите кнопку ОК.
На странице Выбор подключения к данным нажмите кнопку Далее .
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите таблицы или представления, которые необходимо включить в набор данных, а затем нажмите кнопку Готово.
Объект DataSet добавляется в проект, и таблицы и представления отображаются в окне Источники данных.
Создание набора данных для ACCDB-файла
Подключение к базам данных, созданным с помощью Microsoft 365, доступа 2013, access 2010 или access 2007 с помощью следующей процедуры.
откройте проект приложения Windows Forms или WPF в Visual Studio.
Чтобы открыть окно " Источники данных ", нажмите клавиши CTRL + Q, введите "данные" в поле поиска и выберите окно " Источники данных ". в меню вид выберите другие Windows > источники данных. Или нажмите клавиши SHIFT + ALT + D.
В окне Источники данных выберите Добавить новый источник данных.
Откроется Мастер настройки источника данных .
На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.
На странице Выбор модели базы данных выберите набор данных , а затем нажмите кнопку Далее.
На странице Выбор подключения базы данных выберите Новое подключение для настройки нового подключения к данным.
Откроется диалоговое окно Добавление соединения.
Если источник данных не установлен в файл базы данных Microsoft Access, нажмите кнопку изменить .
Введите имя пользователя и пароль (при необходимости) и нажмите кнопку ОК.
На странице Выбор подключения к данным нажмите кнопку Далее .
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите таблицы или представления, которые необходимо включить в набор данных, а затем нажмите кнопку Готово.
Объект DataSet добавляется в проект, и таблицы и представления отображаются в окне Источники данных.
Создание набора данных для MDB-файла
Подключение базы данных, созданные с помощью Access 2000-2003, с помощью следующей процедуры.
откройте проект приложения Windows Forms или WPF в Visual Studio.
в меню вид выберите другие Windows > источники данных.
В окне Источники данных выберите Добавить новый источник данных.
Откроется Мастер настройки источника данных .
На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.
На странице Выбор модели базы данных выберите набор данных , а затем нажмите кнопку Далее.
На странице Выбор подключения базы данных выберите Новое подключение для настройки нового подключения к данным.
Если источник данных не является файлом базы данных Microsoft Access (OLE DB), выберите изменить , чтобы открыть диалоговое окно изменение источника данных и выберите файл базы данных Microsoft Access, а затем нажмите кнопку ОК.
В поле имя файла базы данных укажите путь и имя файла MDB , к которому необходимо подключиться, а затем нажмите кнопку ОК.
На странице Выбор подключения к данным нажмите кнопку Далее .
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите нужные таблицы или представления в наборе данных, а затем нажмите кнопку Готово.
Объект DataSet добавляется в проект, и таблицы и представления отображаются в окне Источники данных.
Дальнейшие действия
Только что созданный набор данных доступен в окне Источники данных . Теперь можно выполнить любую из следующих задач:
выберите элементы в окне источники данных и перетащите их в форму или область конструктора (см. раздел привязка Windows Forms элементов управления к данным в Visual Studio или общие сведения о привязке данных WPF).
Откройте источник данных в Конструкторе набора данных для добавления или изменения объектов, составляющих набор данных.
Добавьте логику проверки в ColumnChanging RowChanging событие или таблиц данных в наборе данных (см. раздел Проверка данных в наборах).
можно проверить подключение к базе данных или службе, а также изучить содержимое базы данных и схемы с помощью обозреватель сервера, Cloud Explorer или SQL Server обозреватель объектов. Функциональные возможности этих окон перекрываются в некоторой степени. Основные отличия:
установите это окно вручную в качестве расширения Visual Studio из Visual Studio Marketplace. Предоставляет специализированные функциональные возможности для изучения и подключения к службам Azure.
Обозреватель объектов SQL Server
вы можете проверить подключение к базе данных или службе, а также изучить содержимое базы данных и схемы с помощью обозреватель сервера или SQL Server обозреватель объектов. Функциональные возможности этих окон перекрываются в некоторой степени. Основные отличия:
Обозреватель объектов SQL Server
Добавление подключения в обозреватель сервера
Чтобы создать подключение к базе данных, щелкните значок Добавить подключение в Обозреватель сервера или щелкните правой кнопкой мыши Обозреватель сервера в узле подключения к данным и выберите команду Добавить подключение. отсюда можно также подключиться к базе данных на другом сервере, SharePointной службе или службе Azure.
Откроется диалоговое окно Добавление соединения . здесь мы указали имя экземпляра SQL Server LocalDB, (localdb)\MSSqlLocalDB который обычно устанавливается вместе с Visual Studio.
Изменение поставщика
если вы используете Visual Studio 2022 для подключения к поставщикам данных OLEDB или ODBC, необходимо помнить, что Visual Studio 2022 теперь является 64-битным процессом.
это означает, что некоторые средства работы с данными в Visual Studio не смогут подключаться к базам данных OLEDB или ODBC с помощью 32-разрядных поставщиков данных. Сюда входит поставщик данных Microsoft Access 32-bit OLEDB, а также другие сторонние поставщики 32-bit.
если необходимо поддерживать 32-разрядные приложения, подключающиеся к OLEDB или ODBC, вы по-прежнему сможете создавать и запускать приложение с Visual Studio 2022. тем не менее, если необходимо использовать какие-либо инструменты Visual Studio данных, такие как обозреватель сервера, мастер источников данных или конструктор наборов данных, необходимо использовать более раннюю версию Visual Studio, которая все еще является 32-битным процессом. последняя версия Visual Studio, которая была 32-разрядным процессом, была Visual Studio 2019.
Если вы планируете преобразовать проект в 64-разрядный процесс, вам потребуется обновить подключения к данным OLEDB и ODBC, чтобы использовать 64-разрядные поставщики данных.
если приложение использует базы данных Microsoft Access и может преобразовать проект в 64-разрядный, рекомендуется использовать 64-разрядный ядро СУБД Microsoft access, также называемый модулем подключения Access (ACE). Дополнительные сведения см. в разделе поставщик OLE DB для Jet и драйвер ODBC — 32-разрядные версии .
Если вы используете сторонний поставщик данных, мы рекомендуем подключиться к поставщику, чтобы узнать, предлагают ли они 64-разрядный поставщик перед преобразованием проекта в 64-разрядный.
Проверка подключения
После выбора источника данных нажмите кнопку проверить соединение. Если это не удается, вам потребуется устранить неполадки, используя документацию поставщика.
если тест выполнен, можно приступать к созданию источника данных, который является Visual Studio термином, который на самом деле означает модель данных , основанную на базовой базе данных или службе.
Подключение с помощью SQL Server обозреватель объектов
чтобы открыть диалоговое окно подключения из SQL Server обозреватель объектов, нажмите кнопку панели инструментов добавить SQL Server.
Откроется диалоговое окно подключения. выберите локальный, сетевой или Azure SQL сервер, выберите базу данных, укажите учетные данные и выберите Подключение.
Если необходимо задать другие параметры в строке подключения, можно использовать ссылку Дополнительно , в которой будут выведены все параметры.
после завершения настройки подключения сервер и база данных отображаются в окне SQL Server обозреватель объектов.
Отсюда можно просматривать базу данных, создавать и выполнять запросы, изменять данные, хранимые процедуры и функции, а также выполнять другие действия непосредственно в Visual Studio.
Следующие шаги
В этой статье демонстрируется простой способ быстрого получения данных из базы данных. Если приложению необходимо изменить данные с помощью нетривиальных способов и обновить базу данных, следует рассмотреть возможность использования Entity Framework и привязки данных для автоматической синхронизации элементов управления пользовательского интерфейса с изменениями в базовых данных.
С целью упрощения код не включает обработку исключений для выполнения в рабочей среде.
Предварительные требования
Для создания приложения вам потребуются следующие компоненты.
SQL Server Express LocalDB. если у вас нет SQL Server Express LocalDB, его можно установить на странице загрузки SQL Server.
Настройка образца базы данных
Создайте образец базы данных, выполнив следующие действия.
в Visual Studio откройте окно обозреватель сервера .
щелкните правой кнопкой мыши подключения к данным и выберите команду создать новую базу данных SQL Server.
В текстовом поле имя сервера введите (LocalDB) \mssqllocaldb.
В текстовом поле имя новой базы данных введите Sales, а затем нажмите кнопку ОК.
Пустая база данных Sales создается и добавляется в узел подключения к данным в обозреватель сервера.
Щелкните правой кнопкой мыши подключение к данным о продажах и выберите создать запрос.
Откроется окно редактора запросов.
вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку выполнить .
По истечении короткого времени выполнение запроса завершается и создаются объекты базы данных. База данных содержит две таблицы: Customer и Orders. Эти таблицы изначально не содержат данных, но их можно добавить при запуске создаваемого приложения. База данных также содержит четыре простые хранимые процедуры.
Создание форм и добавление элементов управления
Создайте проект для приложения Windows Forms и назовите его SimpleDataApp.
Visual Studio создает проект и несколько файлов, включая пустую форму Windows Forms с именем Form1.
Добавьте две формы Windows Forms в проект, чтобы он включал три формы, и назначьте им следующие имена:
Навигация
NewCustomer
FillOrCancel
Для каждой формы добавьте текстовые поля, кнопки и другие элементы управления, которые отображаются на рисунках ниже. Для каждого элемента управления задайте свойства, указанные в таблицах.
Элементы управления "группа" и "надпись" обеспечивают большую ясность, но не используются в коде.
Форма навигации
Форма NewCustomer
Форма FillOrCancel
Сохранение строки подключения
Когда приложение пытается открыть подключение к базе данных, оно должно иметь доступ к строке подключения. Чтобы не вводить строку вручную в каждой форме, сохраните строку в файле App.config в проекте и создайте метод, возвращающий строку при вызове метода из любой формы в приложении.
Строку подключения можно найти, щелкнув правой кнопкой мыши подключение данных о продажах в Обозреватель сервера и выбрав Свойства. Найдите свойство ConnectionString , а затем с помощью клавиш CTRL + A, CTRL + C выберите и скопируйте строку в буфер обмена.
В столбце имя введите connString .
В списке тип выберите (строка подключения).
В списке область выберите приложение.
В столбце значение введите строку подключения (без кавычек), а затем сохраните изменения.
В реальных приложениях строку подключения следует хранить безопасно, как описано в разделе строки подключения и файлы конфигурации.
Написание кода для форм
Этот раздел содержит краткие обзоры того, что делает каждая форма. Он также предоставляет код, определяющий базовую логику при нажатии кнопки на форме.
Форма навигации
Форма навигации открывается при запуске приложения. Кнопка Добавить учетную запись открывает форму NewCustomer. Кнопка Выполнение или отмена заказов открывает форму FillOrCancel. Кнопка Выход закрывает приложение.
Преобразование формы навигации в начальную форму
если вы используете Visual Basic, в обозреватель решений откройте окно свойства , перейдите на вкладку приложение и выберите симпледатаапп. Navigation в списке начальных форм .
Создание автоматически создаваемых обработчиков событий
Дважды щелкните три кнопки в форме навигации, чтобы создать пустые методы обработчика событий. При двойном щелчке кнопки также добавляется автоматически созданный код в файл кода конструктора, который позволяет нажать кнопку для вызова события.
Если пропустить действие двойного щелчка в конструкторе и просто скопировать код и вставить его в файлы кода, не забудьте присвоить обработчику событий правильный метод. Это можно сделать в окне Свойства . Перейдите на вкладку события (воспользуйтесь кнопкой на панели инструментов с молнией) и найдите обработчик щелчка .
Добавление кода для логики формы навигации
На странице кода для формы навигации заполните основные тексты методов для трех обработчиков событий нажатия кнопки, как показано в следующем коде.
Форма NewCustomer
если ввести имя клиента, а затем нажать кнопку создать учетную запись , форма NewCustomer создает учетную запись клиента, а SQL Server возвращает значение идентификатора в качестве нового идентификатора клиента. Затем можно разместить заказ для новой учетной записи, указав сумму и дату заказа и нажав кнопку поместить порядок .
Создание автоматически создаваемых обработчиков событий
Создайте пустой обработчик событий щелчка для каждой кнопки в форме NewCustomer, дважды щелкнув каждую из четырех кнопок. При двойном щелчке кнопки также добавляется автоматически созданный код в файл кода конструктора, который позволяет нажать кнопку для вызова события.
Добавление кода для логики формы NewCustomer
Чтобы завершить логику формы NewCustomer, выполните следующие действия.
System.Data.SqlClient Перенесите пространство имен в область, чтобы не указывать полные имена его членов.
Добавьте в класс некоторые переменные и вспомогательные методы, как показано в следующем коде.
Заполните основные тексты методов для четырех обработчиков событий нажатия кнопки, как показано в следующем коде.
Форма FillOrCancel
Форма Филлорканцел запускает запрос для возврата заказа при вводе идентификатора заказа и нажатия кнопки найти заказ . Возвращенная строка отображается в сетке данных только для чтения. Можно пометить заказ как отмененный (X), если нажать кнопку отменить заказ или пометить заказ как заполненный (F), если нажать кнопку заполнить заказ . Если нажать кнопку найти порядок еще раз, появится обновленная строка.
Создание автоматически создаваемых обработчиков событий
Создайте пустые обработчики событий щелчка для четырех кнопок в форме Филлорканцел, дважды щелкнув кнопки. При двойном щелчке кнопки также добавляется автоматически созданный код в файл кода конструктора, который позволяет нажать кнопку для вызова события.
Добавление кода для логики формы Филлорканцел
Чтобы завершить логику формы Филлорканцел, выполните следующие действия.
Перенесите следующие два пространства имен в область, чтобы не указывать полные имена их членов.
Добавьте в класс переменную и вспомогательный метод, как показано в следующем коде.
Заполните основные тексты методов для четырех обработчиков событий нажатия кнопки, как показано в следующем коде.
Тестирование приложения
Запустите приложение и попробуйте создать несколько клиентов и заказов, чтобы убедиться, что все работает правильно. Чтобы убедиться, что база данных обновлена с учетом внесенных изменений, откройте узел таблицы в Обозреватель сервера, щелкните правой кнопкой мыши узлы Customers и Orders и выберите команду отобразить данные таблицы.
Чтобы хранить данные, нам естественным образом нужна база данных. Как правило, в качестве базы данных используется MS SQL Server, на примере которого мы и посмотрим весь процесс создания БД и подключения к ней.
Мы можем создать базу данных прямо в проекте, либо же создать ее на сервере MS SQL. Для хранения баз данных проекте у нас предназначена папка App_Data. Для этого нажмем правой кнопкой мыши на папку App_Data и в появившемся контекстном меню выберем Add-> New Item. . В появившемся окне добавления нового элемента выберем SQL Server Database и назовем новую базу данных Bookstore.mdf:
Мы можем создать базу данных равнозначным образом и на сервере. После этого база данных добавляется в проект, и мы можем увидеть ее в папке App_Data. Теперь в обозревателе баз данных (окно Database Explorer ) мы можем подключиться к ней и создать таблицы, которые будут хранить данные.
Раскроем узел Bookstore.mdf и найдем узел Tables. Нажмем на этот узел правой кнопкой мыши и в появившемся меню выберем пункт Add New Table . И перед нами появится окно, в котором нам надо определить названия и типы столбцов новой таблицы. По соглашениям о наименованиях таблицы при работе с Entity Framework должны соответствовать имени модели. То есть, так как наша модель называется Book , то таблица будет называться Books . А Entity Framework автоматически распознает, что таблица Books соответствует классу Book .
Итак, создадим структуру таблицы:
Не забудьте установить ниже в окне Properties (в Visual Stidio 2010 - окно Column Properties) для столбца Id соответствующие параметры для первичного ключа:
После этого, если мы работаем с Visual Studio 2010, нам будет предложено просто ввести имя таблицы - введем имя Books, и затем таблица добавляется в БД.
А в Visual Studio Express 2012 for Web нам надо сгенерировать таблицу на основе заданного выше определения. Для этого нажмем на кнопку Update:
В появившемся диалоговом окне нажмем на кнопку Update Database. После этого в нашу базу данных добавляется только что сгенерированная таблица. Подобным образом определим таблицу Purchases для модели Purchase:
Добавим в таблицу Books несколько записей:
Теперь, во-первых, чтобы взаимодействовать с БД, нам нужен класс контекста данных, пусть это будет следующий класс BookContext:
Во-вторых, определим строку подключения к БД. Для этого откроем файл Web.config и добавим в конец секции configuration определение строки подключения. Однако тут надо сразу заметить, что для Visual Studio 2010 строка подключения будет отличаться от строки подключения, которая используется в Visual Studio 2012.
Итак, строка подключения для Visual Studio 2010 будет выглядеть так:
Для Visual Studio 2012 будет выглядеть определение строки подключения будет выглядеть следующим образом:
В Visual Studio 2012 в отличие от 2010-й версии мы можем использовать режим LocalDB, который предназначен прежде всего для разработчиков, представляя некоторую упрощенную версию. Поэтому в данном случае в качестве источника данных используется (LocalDB)\v11.0.
Обратите внимание, что в обоих случаях свойство name="BookContext" должно содержать название контекста данных.
Использование подстановки |DataDirectory| позволяет опустить полный физический путь к базе данных, которая хранится в папке App_Data.
Теперь мы можем получить содержимое таблицы Books в контроллере Home:
И вывести данные в представлении Index.cshtml:
Закрытие подключения
Чтобы наверняка быть уверенным, что подключение к базе данных закрыто, следует вызывать метод Dispose у контекста данных:
Это переопределенная версия метода Dispose контроллера, которая вызывается при уничтожении объекта контроллера. В нее помещается вызов db.Dispose() , который уничтожает все связанные с контекстом данных ресурсы и подключения.
Читайте также: