Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Классы DataSet и связанные классы являются устаревшими технологиями .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти, пока приложения отключены от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных являются проверенными успешными технологиями, рекомендуемый подход для новых приложений .NET заключается в использовании Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей и имеет более простой интерфейс программирования.
В этом руководстве приведены подробные инструкции по выполнению инструкций SQL непосредственно в базе данных с помощью методов DBDirect tableAdapter. Методы DBDirect TableAdapter обеспечивают детальный уровень контроля над обновлениями вашей базы данных. Их можно использовать для выполнения определенных инструкций SQL и хранимых процедур путем вызова отдельных InsertUpdateметодов и Delete методов, необходимых приложению (в отличие от перегруженного Update метода, выполняющего UPDATEINSERTинструкции и DELETE инструкции в одном вызове).
В этом руководстве вы узнаете, как:
Создайте и настройте набор данных с помощью мастера настройки источника данных.
Выберите элемент управления, который нужно создать в форме при перетаскивании элементов из окна источников данных . Дополнительные сведения см. в разделе "Настройка элемента управления для создания при перетаскивании из окна источников данных".
Создайте форму, привязанную к данным, перетащив элементы из окна источников данных в форму.
Добавьте методы для прямого доступа к базе данных и выполнения вставок, обновлений и удалений.
Предпосылки
Действия, описанные в этом руководстве, работают с приложениями Windows Forms для .NET Framework.
В этом руководстве используется SQL Server Express LocalDB и пример базы данных Northwind.
Если у вас нет SQL Server Express LocalDB, установите его на странице скачивания SQL Server Express или с помощью Установщика Visual Studio. В установщике Visual Studioможно установить SQL Server Express LocalDB в рамках рабочей нагрузки хранилища данных и обработки или как отдельный компонент.
Установите пример базы данных Northwind, выполнив следующие действия.
В Visual Studio откройте окно обозревателя объектов SQL Server. (Обозреватель объектов SQL Server устанавливается как часть рабочей нагрузки хранилища данных и обработки в Visual Studio Installer.) Разверните узел SQL Server. Щелкните правой кнопкой мыши экземпляр LocalDB и выберите Новый запрос.
Откроется окно редактора запросов.
Скопируйте скрипт Northwind Transact-SQL в буфер обмена. Этот скрипт T-SQL создает базу данных Northwind с нуля и заполняет ее данными.
Вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку Выполнить.
Через некоторое время запрос завершает работу и создается база данных Northwind.
Создание приложения Windows Forms
Первым шагом является создание приложения Windows Forms (.NET Framework). Создайте проект с помощью типа проекта приложения Windows Forms с помощью C# или Visual Basic.
Замечание
Код для этого руководства доступен в C# и Visual Basic. Чтобы переключить язык кода на этой странице между C# и Visual Basic, используйте переключатель языка кода в верхней части страницы справа.
Создание источника данных из базы данных
На этом шаге Мастер настройки источника данных используется для создания источника данных на основе таблицы в образце базы данных Northwind. Для создания подключения необходимо иметь доступ к образцу базы данных Northwind. Сведения о настройке примера базы данных Northwind см. в разделе Практическое руководство: Установка примеров баз данных.
Создание источника данных
В меню "Данные" выберите "Показать источники данных".
Откроется окно "Источники данных ".
В окне "Источники данных" выберите "Добавить новый источник данных ", чтобы запустить мастер настройки источника данных.
На экране "Выбор типа источника данных " выберите "База данных" и нажмите кнопку "Далее".
На экране выбора подключения к данным выполните одно из следующих действий.
Если в раскрывающемся списке доступно подключение к образцу базы данных Northwind, выберите его.
-или-
Нажмите кнопку "Создать подключение", чтобы запустить диалоговое окно "Добавить или изменить подключение ".
Если для базы данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку "Далее".
На экране "Сохранение строки подключения в файл конфигурации приложения" выберите "Далее".
На экране "Выбор объектов базы данных " разверните узел "Таблицы ".
Выберите таблицу
Regionи нажмите кнопку "Готово".NorthwindDataSet добавляется в проект, а
Regionтаблица появится в окне источников данных.
Добавление элементов управления в форму для отображения данных
Создайте элементы управления, привязанные к данным, перетаскивая элементы из окна источников данных в форму.
Чтобы создать элементы управления привязанными данными в форме Windows, перетащите основной узел региона из окна источников данных в форму.
Элемент управления DataGridView и полоса инструментов BindingNavigator для навигации по записям находятся на форме.
Объект NorthwindDataSet, RegionTableAdapter, BindingSource, и BindingNavigator отображаются в области компонентов.
Добавление кнопок, вызывающих отдельные методы TableAdapter DbDirect
Перетащите три Button элемента управления из панели элементов в Form1 (под RegionDataGridView).
Задайте следующие свойства Name и Text на каждой кнопке.
Имя Текст InsertButtonВставка UpdateButtonОбновлять DeleteButtonУдалить
Добавление кода для вставки новых записей в базу данных
Выберите InsertButton , чтобы создать обработчик событий для события щелчка и открыть форму в редакторе кода.
Замените
InsertButton_Clickобработчик событий следующим кодом:private void InsertButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; String newRegionDescription = "NorthEastern"; try { regionTableAdapter1.Insert(newRegionID, newRegionDescription); } catch (Exception ex) { MessageBox.Show("Insert Failed"); } RefreshDataset(); } private void RefreshDataset() { this.regionTableAdapter1.Fill(this.northwindDataSet1.Region); }Замечание
В зависимости от версии Visual Studio и шаблонов проектов, которые вы использовали, имена переменных, такие как
regionTableAdapterилиregionTableAdapter1, используемые в этом коде, могут иметь или не иметь окончание "1" в сгенерированном коде. Внесите исправления в код, чтобы убедиться, что правильное имя используется везде. В Visual Studio отображается красная волнистая линия, где имя неверно.
Добавление кода для обновления записей в базе данных
Дважды щелкните updateButton , чтобы создать обработчик событий для события щелчка и открыть форму в редакторе кода.
Замените
UpdateButton_Clickобработчик событий следующим кодом:
Добавление кода для удаления записей из базы данных
Выберите DeleteButton , чтобы создать обработчик событий для события щелчка и открыть форму в редакторе кода.
Замените
DeleteButton_Clickобработчик событий следующим кодом:
Запуск приложения
Выберите F5 , чтобы запустить приложение.
Нажмите кнопку "Вставить " и убедитесь, что новая запись появится в сетке.
Нажмите кнопку "Обновить " и убедитесь, что запись обновлена в сетке.
Нажмите кнопку "Удалить " и убедитесь, что запись удалена из сетки.
Дальнейшие шаги
В зависимости от требований приложения может потребоваться выполнить несколько шагов после создания формы, привязанной к данным. Некоторые улучшения, которые можно сделать в этом руководстве, включают:
Добавление функций поиска в форму.
Добавление дополнительных таблиц в набор данных путем выбора настройки набора данных с помощью мастера в окне источников данных . Вы можете добавить элементы управления, отображающие связанные данные, перетаскивая связанные узлы в форму. Дополнительные сведения см. в разделе "Связи" в наборах данных.