C#

(C#) 데이터베이스에서 레코드를 삭제(delete)하는 예제

코딩ABC 2023. 4. 19. 08:20
반응형

데이터베이스에서 레코드를 삭제하는 코드입니다.

이 포스팅은 [delete] 버튼에 대한 글이며, 다른 버튼에 대한 코드는 아래의 글을 참고해야 합니다.

 

아래와 같이 예제를 만들었습니다.

삭제할 자료를 먼저 검색합니다.

삭제하기 위해서 [Delete] 버튼을 누릅니다.

삭제할까요? 예 아니오

 

[예]를 누르는 경우에만 삭제합니다.

아래쪽에 있는 코드로 잘 삭제되는 걸 확인했습니다.

삭제된 후 출력된 화면

 

 

[Delete] 버튼에 대한 코드입니다.

using System;
using System.Windows.Forms;
using System.Data.SqlClient;
...
        string connectionString = 
            @"Server=(LocalDB)\MSSQLLocalDb;database=haksa;integrated security=true";
...            
        private void btnDelete_Click(object sender, EventArgs e)
        {

            // 데이터베이스 student 테이블에서 delete
            if (txtHakbun.Text.Trim().Length != 7)
            {
                MessageBox.Show("학번은 7자리입니다.");
                txtHakbun.Focus();
                return;
            }


            DialogResult dialogResult;
            dialogResult = MessageBox.Show("삭제할까요?","삭제",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Question,
                MessageBoxDefaultButton.Button2);
            
            if(dialogResult == DialogResult.No) 
                    return;

            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = connectionString;
            conn.Open();

            string sql = "delete student where hakbun=@hakbun";
            SqlCommand cmd = new SqlCommand(sql, conn);
            cmd.Parameters.AddWithValue("@hakbun", txtHakbun.Text.Trim());

            try
            {
                int n = cmd.ExecuteNonQuery();
                MessageBox.Show(n + "건이 delete 되었습니다.");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }

 

 

반응형