[C#] DataGridView 데이터 수정한 후 DB 테이블에 Update 하는 방법




이번 포스팅에서는 DataGridView를 이용하여 해당 데이터 그리드 뷰에서 데이터를 수정한 후, Database 테이블에 Update 하는 방법에 대해서 간략하게 알려드리도록 하겠습니다!


향후, 시간이 있을 때 간단한 프로젝트를 만들어서 자세하게 설명을 하도록 하고


오늘은 일단 해당 메서드 소스만 올리도록 하겠습니다!


설명은 해당 코드 안의 주석으로 다 해 놓았기 때문에 이해하시는 데에는 문제가 없을거 같습니다~~


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

/// <summary>

/// DataGridView에서 데이터 수정하면

/// 해당 Database Table 데이터

/// 업데이트 해줌

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btn_Save_Click(object sender, EventArgs e)

{

      try

      {

            this.Cursor = Cursors.WaitCursor;

 

            DataTable dtChanges = new DataTable();

 

            //데이터 그리드 뷰에 있는 데이터를 바인딩 해줌

            DataTable dtSTUDENT = (DataTable)STUDENT_VIEW.DataSource; 

            //수정된 데이터들만 추출하여 dtChanges 저장

            dtChanges = dtSTUDENT .GetChanges(DataRowState.Modified); 

 

            string update_query = string.Empty;

 

            if (dtChanges != null)

            {

                for (int i = 0; i < dtChanges.Rows.Count; i++)

                {

 

                    update_query = @"UPDATE STUDENT

                                    SET STUDENT_NAME= '#STUDENT_NAME',                                

                                 WHERE STUDENT_AGE= '#STUDENT_AGE'";

 

                    update_query = update_query.Replace("#STUDENT_NAME",

 dtChanges.Rows[i]["STUDENT_NAME"].ToString());

                    update_query = update_query.Replace("#STUDENT_AGE",

 dtChanges.Rows[i]["STUDENT_AGE"].ToString());

 

                    int result = OracleDBManager.Instance.ExecuteNonQuery(update_query);

 

                    if (result < 0return;

                }

            }

            dtChanges = null;

 

            Process_Flag_View_Load();

 

            this.Cursor = Cursors.Default;

        }

        catch(Exception ex)

        {

            MessageBox.Show(ex.ToString(), "Error",

 MessageBoxButtons.OK, MessageBoxIcon.Error);

        }

            

        MessageBox.Show("Database Update Success""Update Success",

         MessageBoxButtons.OK, MessageBoxIcon.Information);}

}

Colored by Color Scripter

cs

 

 

Colored by Color Scripter

cs

 

다음에 해당 메소드를 이용하여 정확하게 사용하는 방법에 대해 추가 설명을 해드리도록 하겠습니다~~


※추가

위 글과 관련하여 DataGridView 조회, 추가, 수정, 삭제와 관련된 글을 아래 링크에 포스팅하였습니다ㅎㅎ


더 많은 자료를 보고싶으신 분들을 아래 링크를 통하여 해당 포스팅을 보시면 되겠습니당ㅎㅎ


http://afsdzvcx123.tistory.com/144?category=784689



감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY