Приветствую всех, сегодня напишем простенькое приложения для работы с БД MS Access сможет обновлять, удалять и вставлять данные.
Шаг 1:
Откройте MS Access, нажмите на пустую базу данных рабочего стола . Дайте базе данных имя «dbSchool.accdb«. а затем нажмите кнопку Создать .

Шаг 2:
Теперь создайте таблицу в базе данных, вы можете назвать таблицу как хотите, здесь я назвал ее “Student” . Существует три столбца в таблице ID, FirstName и LastName, как показано ниже,


Шаг 3:
Теперь откройте Visual Studio, запустите новое приложение Windows Form и дайте любое имя, которое вы хотите.
Шаг 4:
Теперь перетащите файл базы данных из документов в папку каталога проекта. Так что бы она находилась рядом с нашей будущей программой, для удобства работы.
Шаг 5:
Дизайн Формы

Шаг 6:
Установим свойство как на скрине в DataGridView

Шаг 7:
Напишите пространство имен для подключения, как показано ниже.
using System.Data.OleDb;
Шаг 8:
Определите глобальные переменные.
OleDbConnection con;
OleDbDataAdapter da;
OleDbCommand cmd;
DataSet ds;
Шаг 9:
создайте метод для получения списка учащихся.
void GetStudent()
        {
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=dbSchool.accdb");
            da = new OleDbDataAdapter("SELECT *FROM Student", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "Student");
            dataGridView1.DataSource = ds.Tables["Student"];
            con.Close();
        }
Шаг 10:
Создайте исходный код для кнопки вставки данных
private void btnInsert_Click(object sender, EventArgs e)//INSERT BUTTON
        {
            string query = "Insert into Student (FirstName,LastName) values (@fName,@lName)";
            cmd = new OleDbCommand(query, con);
            cmd.Parameters.AddWithValue("@fName", txtFirstName.Text);
            cmd.Parameters.AddWithValue("@lName", txtLastName.Text);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            GetStudent();
        }
Шаг 11:
Создайте исходный код для кнопки Удалить
private void btnDelete_Click(object sender, EventArgs e)//DELETE BUTTON
        {
            string query = "Delete From Student Where Id=@id";
            cmd = new OleDbCommand(query, con);
            cmd.Parameters.AddWithValue("@id", dataGridView1.CurrentRow.Cells[0].Value);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            GetStudent();
        }
Шаг 12:
Создайте исходный код для кнопки Обновить
private void btnUpdate_Click(object sender, EventArgs e)//UPDATE BUTTON
        {
            string query = "Update Student Set FirstName=@fName,LastName=@lName Where Id=@id";
            cmd = new OleDbCommand(query, con);
            cmd.Parameters.AddWithValue("@ad", txtFirstName.Text);
            cmd.Parameters.AddWithValue("@soyad", txtLastName.Text);
            cmd.Parameters.AddWithValue("@id", Convert.ToInt32(txtId.Text));
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            GetStudent();
        }
Шаг 13:
Создайте исходный код для события datagridview_cellEnter
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            txtId.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            txtFirstName.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            txtLastName.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
        }
Шаг 14:
создайте исходный код для события Form_Load
 private void Form1_Load(object sender, EventArgs e)
        {
            GetStudent();
        }
На этом все, полный текст исходного кода ниже:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace Пример_приложения_для_работы_с_Access_базой
{
    public partial class Form1 : Form //nookery.ru
    {
        OleDbConnection con;
        OleDbDataAdapter da;
        OleDbCommand cmd;
        DataSet ds;
        public Form1()
        {
            InitializeComponent();
        }
        void GetStudent()
        {
            //либо укажите полный путь до БД
            //con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Projects\Пример приложения для работы с Access базой\Пример приложения для работы с Access базой\bin\Debug\dbSchool.accdb");
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=dbSchool.accdb");
            da = new OleDbDataAdapter("SELECT *FROM Student", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "Student");
            dataGridView1.DataSource = ds.Tables["Student"];
            con.Close();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            GetStudent();
        }
        private void btnInsert_Click(object sender, EventArgs e)//INSERT BUTTON
        {
            string query = "Insert into Student (FirstName,LastName) values (@fName,@lName)";
            cmd = new OleDbCommand(query, con);
            cmd.Parameters.AddWithValue("@fName", txtFirstName.Text);
            cmd.Parameters.AddWithValue("@lName", txtLastName.Text);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            GetStudent();
        }
        private void btnDelete_Click(object sender, EventArgs e)//DELETE BUTTON
        {
            string query = "Delete From Student Where Id=@id";
            cmd = new OleDbCommand(query, con);
            cmd.Parameters.AddWithValue("@id", dataGridView1.CurrentRow.Cells[0].Value);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            GetStudent();
        }
        private void btnUpdate_Click(object sender, EventArgs e)//UPDATE BUTTON
        {
            string query = "Update Student Set FirstName=@fName,LastName=@lName Where Id=@id";
            cmd = new OleDbCommand(query, con);
            cmd.Parameters.AddWithValue("@ad", txtFirstName.Text);
            cmd.Parameters.AddWithValue("@soyad", txtLastName.Text);
            cmd.Parameters.AddWithValue("@id", Convert.ToInt32(txtId.Text));
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            GetStudent();
        }
        private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            txtId.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            txtFirstName.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            txtLastName.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
        }
    }
}
1

Таким образом мы разработали программу с минимальным функционалом.
Внимание если у вас возникает ошибка:System.InvalidOperationException: «Поставщик «Microsoft.ACE.OLEDB.12.0″ не зарегистрирован на локальном компьютере.»
Вам надо изменить целевую сборку проекта на x64, если вы не знаете как это сделать, прочитайте тут.

А обязательно должно всё быть на английском и таблицы и сам файл?
Таблицы нет, сам фаил желательно.
можно пожалуйста исходник?
Можно пожалуйста исходник?
Послу публикации демонстрационная программа была удалена. Но не вижу проблемы самостоятельно воссоздать ее, поместив на форму 3 текстовых поля 3 кнопки и 1 DataGridView, скопировать код из статьи и обработать события.
flvby [eqkj
Что?)
Здравствуйте. Можете ли вы ответить на мой вопрос? У меня создана БД Рекламной кампании, в ней таблица с списком заказов(*ID_Заказа, ID_Товара, ID_Организации и тд). Хочу обработать событие нажатие кнопки. Пользователь заполняет форму и при нажатии в MessageBox выводится ID записанного Заказа(ну например «Заказ N находится на стадии обработки»).
Привет, а в чем вопрос? Ход мысли у тебя верный, делай выборку с базы данных формируй строку из нее и выводи в сообщении.
ниче не поняно, нормально надо объяснять, твари блять