Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 579

Подключение к данным в базе данных Access Connect to data in an Access database

—>

Вы можете подключиться к базе данных Access ( MDB -или ACCDB -файлу) с помощью Visual Studio.You can connect to an Access database (either an .mdb file or an .accdb file) by using Visual Studio.После того как определено подключение, источник данных отображается в окне Источник данных.After you define the connection, the data appears in the Data Sources window.После этого можно перетаскивать таблицы или представления в область конструктора.From there, you can drag tables or views onto your design surface.

PrerequisitesPrerequisites

Чтобы использовать эти процедуры, необходим проект Windows Forms или WPF и база данных Access (ACCDB -файл) или база данных Access 2000-2003 (MDB -файл).To use these procedures, you need a Windows Forms or WPF project and either an Access database (.accdb file) or an Access 2000-2003 database (.mdb file).Выполните процедуру, соответствующую типу файла.Follow the procedure that corresponds to your file type.

Создание набора данных для ACCDB-файлаCreate a dataset for an .accdb file

Подключитесь к базам данных, созданным с помощью Office 365, Access 2013, Access 2010 или Access 2007, с помощью следующей процедуры.Connect to databases created with Office 365, Access 2013, Access 2010, or Access 2007 by using the following procedure.

  1. Откройте проект приложения Windows Forms или WPF в Visual Studio.Open a Windows Forms or WPF application project in Visual Studio.

  2. Чтобы открыть окно Источники данных , в меню вид выберите другие > Источники данныхWindows .To open the Data Sources window, on the View menu, select Other Windows > Data Sources.

  3. В окне Источники данных выберите Добавить новый источник данных.In the Data Sources window, click Add New Data Source.

    Открывается мастер настройки источника данных.The Data Source Configuration Wizard opens.

  4. На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.Select Database on the Choose a Data Source Type page, and then select Next.

  5. На странице Выбор модели базы данных выберите набор данных , а затем нажмите кнопку Далее.Select Dataset on the Choose a Database Model page, and then select Next.

  6. На странице Выбор подключения базы данных выберите Новое подключение для настройки нового подключения к данным.On the Choose your Data Connection page, select New Connection to configure a new data connection.

    Откроется диалоговое окно Добавление соединения.The Add Connection dialog box opens.

  7. Если источник данных не установлен в файл базы данных Microsoft Access (OLE DB) , нажмите кнопку изменить .If Data source is not set to Microsoft Access Database File (OLE DB), select the Change button.

    Откроется диалоговое окно изменение источника данных .The Change Data Source dialog box opens.В списке источников данных выберите файл базы данных Microsoft Access.In the list of data sources, choose Microsoft Access Database File.В раскрывающемся списке поставщик данных выберите .NET Framework поставщик данных для OLE DBи нажмите кнопку ОК.In the Data provider drop-down, select .NET Framework Data Provider for OLE DB, and then choose OK.

  8. Нажмите кнопку Обзор рядом с именем файла базы данных, а затем перейдите к файлу ACCDB и нажмите кнопку Открыть.Choose Browse next to Database file name, and then navigate to your .accdb file and choose Open.

  9. Введите имя пользователя и пароль (при необходимости) и нажмите кнопку ОК.Enter a user name and password (if necessary), and then choose OK.

  10. На странице Выбор подключения к данным нажмите кнопку Далее .Select Next on the Choose your Data Connection page.

    Возможно, появится диалоговое окно с сообщением о том, что файл данных отсутствует в текущем проекте.You may get a dialog box telling you the data file is not in your current project.Выберите Да или Нет.Select Yes or No.

  11. Нажмите кнопку Далее в строке сохранить подключение на странице файл конфигурации приложения .Select Next on the Save connection string to the Application Configuration file page.

  12. Разверните узел Таблицы на странице Выбор объектов базы данных.Expand the Tables node on the Choose your Database Objects page.

  13. Выберите таблицы или представления, которые необходимо включить в набор данных, а затем нажмите кнопку Готово.Select the tables or views you want to include in your dataset, and then select Finish.

    Объект DataSet добавляется в проект, и таблицы и представления отображаются в окне Источники данных.The dataset is added to your project, and the tables and views appear in the Data Sources window.

Создание набора данных для MDB-файлаCreate a dataset for an .mdb file

Подключитесь к базам данных, созданным с помощью Access 2000-2003, с помощью следующей процедуры.Connect to databases created with Access 2000-2003 by using the following procedure.

  1. Откройте проект приложения Windows Forms или WPF в Visual Studio.Open a Windows Forms or WPF application project in Visual Studio.

  2. В меню вид выберите другие > Источники данныхWindows .On the View menu, select Other Windows > Data Sources.

  3. В окне Источники данных выберите Добавить новый источник данных.In the Data Sources window, click Add New Data Source.

    Открывается мастер настройки источника данных.The Data Source Configuration Wizard opens.

  4. На странице Выбор типа источника данных выберите база данных , а затем нажмите кнопку Далее.Select Database on the Choose a Data Source Type page, and then select Next.

  5. На странице Выбор модели базы данных выберите набор данных , а затем нажмите кнопку Далее.Select Dataset on the Choose a Database Model page, and then select Next.

  6. На странице Выбор подключения базы данных выберите Новое подключение для настройки нового подключения к данным.On the Choose your Data Connection page, select New Connection to configure a new data connection.

  7. Если источник данных не является файлом базы данных Microsoft Access (OLE DB) , выберите изменить , чтобы открыть диалоговое окно изменение источника данных и выберите файл базы данных Microsoft Access, а затем нажмите кнопку ОК.If the data source is not Microsoft Access Database File (OLE DB), select Change to open the Change Data Source dialog box and select Microsoft Access Database File, and then select OK.

  8. В поле имя файла базы данныхукажите путь и имя файла MDB , к которому необходимо подключиться, а затем нажмите кнопку ОК.In the Database file name, specify the path and name of the .mdb file you want to connect to, and then select OK.

  9. На странице Выбор подключения к данным нажмите кнопку Далее .Select Next on the Choose your Data Connection page.

  10. Нажмите кнопку Далее в строке сохранить подключение на странице файл конфигурации приложения .Select Next on the Save connection string to the Application Configuration file page.

  11. Разверните узел Таблицы на странице Выбор объектов базы данных.Expand the Tables node on the Choose your Database Objects page.

  12. Выберите нужные таблицы или представления в наборе данных, а затем нажмите кнопку Готово.Select whatever tables or views you want in your dataset, and then select Finish.

    Объект DataSet добавляется в проект, и таблицы и представления отображаются в окне Источники данных.The dataset is added to your project, and the tables and views appear in the Data Sources window.

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

Только что созданный набор данных доступен в окне Источники данных .The dataset that you just created is available in the Data Sources window.Теперь можно выполнить любую из следующих задач:You can now perform any of the following tasks:

  • Выберите элементы в окне Источники данных и перетащите их в форму или область конструктора (см. раздел Привязка Windows Forms элементов управления к данным в Visual Studio или Общие сведения о привязке данных WPF).Select items in the Data Sources window and drag them onto your form or design surface (see Bind Windows Forms controls to data in Visual Studio or WPF data binding overview).

  • Откройте источник данных в Конструкторе набора данных для добавления или изменения объектов, составляющих набор данных.Open the data source in the Dataset Designer to add or edit the objects that make up the dataset.

  • Добавьте логику проверки к событию ColumnChanging или RowChanging таблиц данных в наборе данных (см. раздел Проверка данных в наборах).Add validation logic to the ColumnChanging or RowChanging event of the data tables in the dataset (see Validate data in datasets).

См. также:See also

—>

Рассмотрим выполнение запросов SELECT, INSERT, UPDATE и DELETE к базе данных Microsoft Access из программы на языке C#, на примере проекта Windows Forms в Visual Studio. В конце статьи вы найдете исходники, а также видеоурок по данной теме.

Проектирование базы данных MS Access

Создадим в Microsoft Access базу данных Workers (рабочие) с одной таблицей Worker (рабочий).

Таблица содержит следующие столбцы:

  • w_id (идентификатор записи) – тип данных Счетчик;
  • w_name (имя) – тип данных Короткий текст;
  • w_position (должность) – тип данных Короткий текст;
  • w_salary (зарплата) – тип данных Числовой.

Shema-bazyi-dannyih-MS-Access.png

Для корректной работы с базой данных MS Access с помощью языка C#, ее необходимо сохранить в формате с расширением .mdb

Sohranenie-BD-Access-v-nuzhnom-formate-dlya-C.png

Создание проекта Windows Forms в Visual Studio на языке C#

Создадим проект Windows Forms на C# и поместим на форму следующие компоненты:

TextBox, ListBox и пять кнопок Button.

Raspolozhenie-e`lementov-upravleniya-na-forme.png

На макете формы в Visual Studio выполним двойные щелчки левой кнопкой мыши на всех кнопках, создав тем самым обработчики событий нажатия для каждой кнопки.

Также в окне свойств формы с помощью двойного щелчка мыши создадим обработчик события FormClosing, выполняющегося при закрытии формы.

Obrabotchik-sobyitiya-zakryitiya-formyi.png

Файл с БД поместим в каталог binDebug в папке с проектом.

Написание кода на C# для выполнения запросов к MS Access

Добавим в класс формы строковое поле string – строку подключения к БД. В строке подключения в значении параметра Data Source указывается путь к файлу с базой данных.

Есть два варианта строки с различными провайдерами подключения. Если с первой строкой программа не будет работать – закомментируйте ее, а вторую раскомментируйте.

Далее добавим поле класса типа OleDbConnection. Экземпляр данного класса понадобится для установления соединения с базой данных MS Access.

В конструкторе класса создадим экземпляр OleDbConnection и установим соединение с БД. Т.е. при запуске программы будет устанавливаться соединение с Access.

В обработчике события закрытия формы добавим код, закрывающий соединение с базой данных. Таким образом при выходе из программы соединение с БД будет закрываться.

Напишем в обработчик события нажатия кнопки SELECT1 код, выполняющий запрос выборки данных одного столбца одной строки. Вывод данных производится в TextBox.

При нажатии кнопки SELECT2 будет выполняться запрос на получение многострочных данных из нескольких столбцов (по сути таблицы). Данные выводятся в ListBox.

Далее запрос вставки данных (INSERT) в MS Access на C#:

Метод ExecuteNonQuery() класса OleDbCommand выполняет запрос и возвращает целое число типа int – количество строк затронутых выполняемым запросом. Данный метод подходит для запросов вставки INSERT, обновления UPDATE и удаления DELETE. Т.е. для тех, которые не возвращают данные.

Запрос обновления данных UPDATE:

Пример SQL-запроса удаления данных (DELETE) из БД Access с помощью языка C#:

Скачать исходник программы из данного урока можно, нажав на кнопку ниже. Программа написана в среде разработки Visual Studio.

Более подробное объяснение темы выполнения запросов из программы на C# к базе данных Microsoft Access доступно в видеоуроке, представленном ниже.

Видеоурок по теме работы с БД MS Access из программы на языке C#

Поделиться в соц. сетях:

Всем доброго дня, сегодня в этой статье, я бы хотел рассказать вам о WPF и MS Access, а также их взаимодействии друг с другом. Мало кто знает, но MS Access довольно хорошо дружит с WPF, но для начала думаю стоит рассказать, что из себя представляет то и другое.

Windows Presentation Foundation — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения.

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных корпорации Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных.

Microsoft Access 2016

Создание базы данных и внутренних таблиц

Создаём БД и переходим к созданию и настройке таблиц, а именно переходим в режим конструктора, предварительно указав наименование базы данных.

image-9.png

Создание таблицы в MS Access

В моей базе данных будет использоваться три столбца: Код — он же уникальный идентификатор, логин пользователя и пароль пользователя.

image-10.png

Результат создания таблицы в MS Access

Внесём одну из записей с которой будем осуществлять работу.

image-11.png

Добавление записи в MS Access

На этом создание базы данных законченно.

Разработка приложения и подключение к БД

Переходим к приложению WPF и у главной формы (MainWindow.xaml.cs) прописываем функцию подключения к базе данных:

public string connection = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:Usersstudent.SIGMA3DocumentsVisual Studio 2017ProjectsWpfApp1WpfApp1.accdb"; // путь к базе данных  public OleDbDataReader Select(string selectSQL) // функция подключения к базе данных и обработка запросов {     OleDbConnection connect = new OleDbConnection(connection); // подключаемся к базе данных     connect.Open(); // открываем базу данных      OleDbCommand cmd = new OleDbCommand(selectSQL, connect); // создаём запрос     OleDbDataReader reader = cmd.ExecuteReader(); // получаем данные      return reader; // возвращаем }
image-12-1024x794.png

Создание функции для работы с MS Access

Важно отметить что весь текст у будет отмечен красным а при подключении будут возникать ошибки. Вся проблема в том, что нужно добавить несколько библиотек, которые позволяют работать с базой данных, для этого, нужно нажать ПКМ по подчёркнутому красной линией элементу и выбрать пункт «Быстрые действия и рефакторинг…», после из предложенных действий выбрать первый вариант который добавляет библиотеку: using System.Data.OleDb;

image-19-1024x819.png

Подключение библиотек для работы с MS Access

Переменная connection содержит в себе текстовую информацию, а именно: тип подключения, и путь подключения. На этом подключение к MS Access завершено, всё что нужно сделать: вызвать функцию в нужном вам месте и обработать запрос.

Выполнение запросов и обработка информации

Для того что бы работать с базой данных MS Access из приложения WPF необходимо знать четыре основных запроса на языке SQL:

  • SELECT (вывод данных из таблицы);
  • INSERT (вставить данные в таблицу);
  • UPDATE (обновить данные в таблице);
  • DESTROY (удалить данные из таблицы).

Важно помнить, что только SELECT возвращает данные, получить данные из других запросов не возможно.

Для того чтобы сделать запрос SELECT и обработать пришедшие данные, после инициализации компонентов вставляем следующий код:

OleDbDataReader read = Select("SELECT * FROM dt_user"); // запрашиваем данные while (read.Read()) { // обрабатываем данные                  MessageBox.Show("Код: " + read.GetValue(0) + " Логин: " + read.GetValue(1) + " Пароль: " + read.GetValue(2)); // выводим данные }
image-15.png

Результат запроса SELECT

Чтобы вставить новую запись, нужно использовать следующий код:

Select("INSERT INTO dt_user([Логин], [Пароль]) VALUES ('test2', 'test2')"); // вставляем строку в БД
image-16.png

Результат запроса INSERT

Теперь нужно обновить пароль, изменив «test2» на «qwerty123». Для этого используется всё тот же метод, передающий SQL запрос.

Select("UPDATE dt_user SET [Пароль]='qwerty123' WHERE [Логин]='test2'");
image-17.png

Результат запроса UPDATE

Чтобы осуществить удаление записи из таблицы, используется следующий код:

Select("DELETE FROM dt_user WHERE [Пароль] = 'qwerty123';");
image-18.png

Результат запроса DELETE

Таким образом можно выполнять запросы к базе данных MS SQL Server.

Так же вы можете использовать MS Access в качестве локальной базы данных, а MS SQL основной. Статьи по подключению и выполнению запросов в MS SQL можно найти на нашем сайте.

Используемые источники:

  • https://docs.microsoft.com/ru-ru/visualstudio/data-tools/connect-to-data-in-an-access-database-windows-forms
  • https://vscode.ru/prog-lessons/ms-access-i-c-sharp-rabotaem-s-bd.html
  • https://you-hands.ru/2019/11/13/wpf-podklyuchenie-k-baze-dannyx-ms-access/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации