Файл: Создайте набор данных для файла accdb.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 36

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, вы можете назвать таблицу как хотите, здесь я назвал ее “Student” . Существует три столбца в таблице IDFirstName и LastName, как показано ниже,



Шаг 3: 

Теперь откройте Visual Studio, запустите новое приложение Windows Form и дайте любое имя, которое вы хотите.

Шаг 4: 

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

Шаг 5:

Дизайн Формы



Шаг 6:

Установим свойство как на скрине в DataGridView



Шаг 7:

 Напишите пространство имен для подключения, как показано ниже.



1

using System.Data.OleDb;

Шаг 8: 

Определите глобальные переменные.



1

2

3

4

OleDbConnection con;

OleDbDataAdapter da;

OleDbCommand cmd;

DataSet ds;

Шаг 9:

 создайте метод для получения списка учащихся.



1

2

3

4

5

6

7

8

9

10

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: 

Создайте исходный код для кнопки вставки данных



1

2

3

4

5

6

7

8

9

10

11

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: 

Создайте исходный код для кнопки Удалить



1

2

3

4

5

6

7

8

9

10

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: 

Создайте исходный код для кнопки Обновить



1

2

3

4

5

6

7

8

9

10

11

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



1

2

3

4

5

6

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



1

2

3

4

private void Form1_Load(object sender, EventArgs e)

        {

            GetStudent();

        }

На этом все, полный текст исходного кода ниже:



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

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

Обновлено: 05.01.2020 — 11:50