Visual С ++ в Studio Expess: підключаємося до файлу Access
Visual Studio, як і інші сучасні середовища програмування, підтримує роботу з базою даних (БД) за технологією ADO (тобто, з формуванням Connection String), підтримуються як MS SQL, так і Access. Інформація з БД кешируєтся в DataSet, який забезпечує додаток даними.
Спочатку потрібно підготувати і зберегти в папці проекту (якщо створено рішення з одним проектом і воно називається bd1. То папка буде bd1 / bd1) тестовий файл Access:
Додати в Studio відключені за замовчуванням компоненти: права кнопка на Панелі елементів, команда Вибрати елементи. вкладка Компоненти .NET Framework, додати OleDbConnection. OleDbDataAdapter (з'являться в групі "Дані" панелі елементів). Якщо у вас версія Express, яка часто грішить "глюками" з відображенням списку компонентів, спробуйте скинути панель елементів в початковий стан (теж правою кнопкою миші) і повторити операцію.
Перенести компонент OleDbDataAdapter на форму, з'явиться майстер підключення, показати на заздалегідь підготовлений файл Access, при запиті рядки SQL ввели
Перевірити, що на формі склалося OleDbConnection.
У нормі OleDbDataAdapter повинен створити команди для дій SELECT, INSERT, UPDATE і DELETE. Але, можливо, в залежності від версії офісу, доведеться додатково налаштовувати властивості oleDbDataAdapter1 - SelectCommand - CommandText і oleDbDataAdapter1 - UpdateCommand - CommandText.
Це можна зробити як в диспетчері властивостей, наприклад, написавши у властивості oleDbDataAdapter1 - SelectCommand - CommandText:
так і програмно (налаштовуємо UpdateCommand):
Можливо (як альтернатива) налаштувати всі команди "автоматично", для цього клацніть по стрілочки в правому верхньому куті значка oleDbDataAdapter1 і виберіть "Налаштувати адаптер даних". Перешкодити автонастройці може відсутність запущеного сервера SQL.
Всі інші компоненти теж "лежать" в списку "Дані":- Додати DataGridView, DataSet - для забезпечення підключення.
- Додати BingingNavigator - для навігації по БД.
- Додати BingingSource - для зв'язку джерела даних з навігатором.
У властивостях bingingSource1 вказати DataSource = dataSet1, DataMember = Table1
Для bindingNavigator вказати bindingSource = bindingSource1
Для dataGridView вказати DataSource = bindingSource1 (неправильно DataSource = dataSet1, DataMember = Table1, як я бачив в інеті)
Для oleDbDataAdapter1 перевірити властивість SelectCommand - Connection = oleDbConnection1
За деякому події (наприклад, по завантаженню форми Load) отримаємо дані з таблиці БД:
Перед закриттям форми (подія FormClosing) збережемо зміни в таблиці Access:
Можна все робити і програмно, а не тикати властивості. Ось приклад коду з програмним коннектом до бази даних Access.