4. FrmMemoModify.aspx.cs 파일을 열고 다음과 같이 코드를 작성한다.

    ▼  FrmMemoModify.aspx.cs

    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using DevADONET.Models;
    
    namespace DevADONET
    {
      public partial class FrmMemoModify : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
              // 넘어온 쿼리스트링 값이 없다면
              if (String.IsNullOrEmpty(Request[“Num”]))
              {
                  Response.Write(“잘못된 요청입니다.”);
                  Response.End();
              }
              else
              {
                  // 처음 로드 시만 읽어 오고, 수정 버튼 클릭 시에는 해당 기능만 구현
                  if (!Page.IsPostBack)
                  {
                      DisplayData();
                  }
              }
          }
          
          private void DisplayData()
          {
              // [1] 커넥션
              SqlConnection con = new SqlConnection(ConfigurationManager
                  .ConnectionStrings[“ConnectionString”].ConnectionString);
              con.Open();
              // [2] 커맨드
              SqlCommand cmd = new SqlCommand(“ViewMemo”, con);
              cmd.CommandType = System.Data.CommandType.StoredProcedure;
              // [!] 파라미터 추가
              cmd.Parameters.Add(“Num”, SqlDbType.Int); // 정수형
              cmd.Parameters[“Num”].Value = Convert.ToInt32(Request[“Num”]);
              // [3] 데이터리더
              SqlDataReader dr = cmd.ExecuteReader();
              if (dr.Read())
              {
                  // [!] 각각의 컨트롤에 바인딩
                  this.lblNum.Text = Request[“Num”];
                  this.txtName.Text = dr[“Name”].ToString();
                  this.txtEmail.Text = dr[2].ToString();
                  this.txtTitle.Text = dr.GetString(3);
              }
              else
              {
                  Response.Write(“없는 데이터입니다.”);
                  Response.End();
              }
              // [4] 마무리
              dr.Close();
              con.Close();
          }
          
          protected void btnModify_Click(object sender, EventArgs e)
          {
              // [0] 변수 선언부
              Memo memo = new Memo();
              memo.Num = Convert.ToInt32(Request[“Num”]);
              memo.Name = txtName.Text;
              memo.Email = txtEmail.Text;
              memo.Title = txtTitle.Text;
              // [1] 커넥션
              SqlConnection con = new SqlConnection(ConfigurationManager
                  .ConnectionStrings[“ConnectionString”].ConnectionString);
              con.Open();
              // [2] 커맨드
              SqlCommand cmd = new SqlCommand(“ModifyMemo”, con);
              //cmd.Connection = con;
              //cmd.CommandText = “WriteMemo”;
              cmd.CommandType = System.Data.CommandType.StoredProcedure;
              // [!] 파라미터 추가
              cmd.Parameters.AddWithValue(”@Name”, memo.Name);
              cmd.Parameters.AddWithValue(”@Email”, memo.Email);
              cmd.Parameters.AddWithValue(”@Title”, memo.Title);
              cmd.Parameters.AddWithValue(”@Num”, memo.Num);
              // [!] 실행
              cmd.ExecuteNonQuery();
              // [3] 마무리
              con.Close();
              Response.Redirect(“FrmMemoView.aspx?Num=” + Request[“Num”]);
          }
          
          protected void btnList_Click(object sender, EventArgs e)
          {
              // 리스트 페이지로 이동
              Response.RedirectPermanent(“FrmMemoList.aspx”);
          }
      }
    }
    

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.