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


Прямой доступ к базе данных с помощью TableAdapter в приложениях .NET Framework

Замечание

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

Кроме InsertCommand, UpdateCommand, и DeleteCommand, ТаблицаАдаптеров создается с методами, которые могут выполняться непосредственно в базе данных. Эти методы (TableAdapter.Insert, TableAdapter.Updateи TableAdapter.Delete) можно вызывать для управления данными непосредственно в базе данных.

Если вы не хотите создавать эти прямые методы, задайте для свойства TableAdapter GenerateDbDirectMethods значение false в окне "Свойства ". Если какие-либо запросы добавляются в TableAdapter в дополнение к основному запросу TableAdapter, они являются автономными запросами, которые не создают эти DbDirect методы.

Отправка команд непосредственно в базу данных

Вызовите метод TableAdapter DbDirect , выполняющий задачу, которую вы пытаетесь выполнить.

Вставка новых записей непосредственно в базу данных

  • Вызовите метод TableAdapter Insert , передавая значения для каждого столбца в качестве параметров. Следующая процедура использует таблицу Region в базе данных Northwind в качестве примера.

    Замечание

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

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Обновление записей непосредственно в базе данных

  • Вызовите метод TableAdapter Update , передавая новые и исходные значения для каждого столбца в качестве параметров.

    Замечание

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

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

Удаление записей непосредственно из базы данных

  • Вызовите метод TableAdapter Delete , передавая значения для каждого столбца Delete в качестве параметров метода. Следующая процедура использует таблицу Region в базе данных Northwind в качестве примера.

    Замечание

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

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");