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


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

Замечание

Классы 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.

  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, используйте переключатель языка кода в верхней части страницы справа.

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

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

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

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

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

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

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

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

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

      -или-

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

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

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

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

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

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

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

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

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

Элемент управления DataGridView и полоса инструментов BindingNavigator для навигации по записям находятся на форме. Объект NorthwindDataSet, RegionTableAdapter, BindingSource, и BindingNavigator отображаются в области компонентов.

Добавление кнопок, вызывающих отдельные методы TableAdapter DbDirect

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

  2. Задайте следующие свойства Name и Text на каждой кнопке.

    Имя Текст
    InsertButton Вставка
    UpdateButton Обновлять
    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 , чтобы запустить приложение.

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

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

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

Дальнейшие шаги

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

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

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