Поделиться через


Сохранение данных с помощью методов DBDirect TableAdapter в приложениях платформа .NET Framework

Примечание.

Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.

В этом руководстве приведены подробные инструкции по выполнению инструкций SQL непосредственно в базе данных с помощью методов DBDirect tableAdapter. Методы DBDirect адаптера таблицы обеспечивают точный контроль над обновлениями базы данных. Их можно использовать для выполнения определенных инструкций SQL и хранимых процедур путем вызова отдельных InsertUpdateметодов и Delete методов, необходимых приложению (в отличие от перегруженного Update метода, выполняющего UPDATEINSERTинструкции и DELETE инструкции в одном вызове).

В этом руководстве вы узнаете, как:

  • Создайте и настройте набор данных с помощью мастера настройки источника данных.

  • Выбор элемента управления, создаваемого на форме при перетаскивании элементов из окна Источники данных. Дополнительные сведения см. в разделе "Настройка элемента управления для создания при перетаскивании из окна источников данных".

  • Создание формы с привязкой к данным посредством перетаскивания элементов из окна Источники данных на форму.

  • Добавьте методы для прямого доступа к базе данных и выполнения вставок, обновлений и удалений.

Необходимые компоненты

Действия, описанные в этом руководстве, работают с платформа .NET Framework приложениями Windows Forms.

В этом руководстве используется SQL Server Express LocalDB и пример базы данных Northwind.

  1. Если у вас нет SQL Server Express LocalDB, установите его на странице скачивания SQL Server Express или с помощью Установщика Visual Studio. В установщике Visual Studio можно установить SQL Server Express LocalDB как часть рабочей нагрузки хранилища данных и обработки или как отдельный компонент.

  2. Установите пример базы данных Northwind, выполнив следующие действия.

    1. В Visual Studio откройте окно обозреватель объектов SQL Server. (SQL Server обозреватель объектов устанавливается как часть рабочей нагрузки хранилища данных и обработки в Visual Studio Installer.) Разверните узел SQL Server. Щелкните правой кнопкой мыши экземпляр LocalDB и выберите новый запрос.

      Откроется окно редактора запросов.

    2. Скопируйте скрипт Northwind Transact-SQL в буфер обмена. Этот скрипт T-SQL создает базу данных Northwind с нуля и заполняет ее данными.

    3. Вставьте скрипт T-SQL в редактор запросов и нажмите кнопку "Выполнить ".

      Через некоторое время запрос завершает работу и создается база данных Northwind.

Создание приложения Windows Forms

Первым шагом является создание приложения Windows Forms (платформа .NET Framework). Создайте проект с помощью типа проекта приложения Windows Forms с помощью C# или Visual Basic.

Примечание.

Код для этого руководства доступен в C# и Visual Basic. Чтобы переключить язык кода на этой странице между C# и Visual Basic, используйте переключатель языка кода в верхней части страницы справа.

Создание источника данных из базы данных

В этом шаге Мастер настройки источника данных используется для создания источника данных на основе таблицы Region в учебной базе данных "Борей". Для создания подключения необходимо иметь доступ к учебной базе данных "Борей". Сведения о настройке образца базы данных Northwind см. в разделе "Практическое руководство. Установка примеров баз данных".

Создание источника данных

  1. В меню Данные выберите пункт Показать источники данных.

    Открывается окно Источники данных.

  2. В окне Источники данных выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.

  3. На экране "Выбор типа источника данных" выберите "База данных" и нажмите кнопку "Далее".

  4. На экране выбора подключения к данным выполните одно из следующих действий.

    • Если подключение к образцу базы данных Northwind доступно в раскрывающемся списке, выберите его.

      –или–

    • Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение.

  5. Если для базы данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку "Далее".

  6. На экране "Сохранить строка подключения в файл конфигурации приложения" нажмите кнопку "Далее".

  7. На экране "Выбор объектов базы данных" разверните узел "Таблицы".

  8. Выберите таблицу Region и нажмите кнопку "Готово".

    Объект NorthwindDataSet добавляется в проект, и таблица Region отображается в окне Источники данных.

Добавление элементов управления в форму для отображения данных

Создайте элементы управления с привязкой к данным с помощью перетаскивания элементов из окна Источники данных на форму.

Чтобы создать элементы управления привязанными данными в форме Windows, перетащите основной узел региона из окна источников данных в форму.

На форме появляется элемент DataGridView и панель инструментов (BindingNavigator) для перемещения по записям. Объект NorthwindDataSet, RegionTableAdapterBindingSourceи BindingNavigator отображается в области компонентов.

Порядок добавления кнопок, вызывающих отдельные методы DbDirect адаптера таблицы

  1. Перетащите три элемента управления Button из области элементов на Form1 (под RegionDataGridView).

  2. Задайте следующие свойства Имя и Текст для каждой из кнопок.

    Имя. Текст
    InsertButton Insert
    UpdateButton Update
    DeleteButton Удаление

Добавление кода для вставки новых записей в базу данных

  1. Выберите InsertButton , чтобы создать обработчик событий для события щелчка и открыть форму в редакторе кода.

  2. Замените обработчик событий 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 отображается красная волнистая стрелка, в которой имя неверно.

Добавление кода для обновления записей в базе данных

  1. Дважды щелкните UpdateButton, чтобы создать обработчик событий для события щелчка кнопкой мыши и открыть форму в редакторе кода.

  2. Замените обработчик событий UpdateButton_Click следующим кодом:

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

Добавление кода для удаления записей из базы данных

  1. Выберите DeleteButton , чтобы создать обработчик событий для события щелчка и открыть форму в редакторе кода.

  2. Замените обработчик событий DeleteButton_Click следующим кодом:

    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

Выполнение приложения

  • Выберите F5 , чтобы запустить приложение.

  • Нажмите кнопку "Вставить " и убедитесь, что новая запись появится в сетке.

  • Нажмите кнопку "Обновить " и убедитесь, что запись обновлена в сетке.

  • Нажмите кнопку "Удалить " и убедитесь, что запись удалена из сетки.

Следующие шаги

В зависимости от требований приложения может потребоваться выполнить несколько шагов после создания формы, привязанной к данным. Некоторые улучшения, которые можно сделать в этом руководстве, включают:

  • Добавление функциональности поиска в форму.

  • Добавление дополнительных таблиц в набор данных посредством выбора элемента Настроить набор данных с помощью мастера в окне Источники данных. Вы можете добавить элементы управления, отображающие связанные данные, перетащив связанные узлы на форму. Дополнительные сведения см. в разделе "Связи" в наборах данных.