ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내가 쓰려고 만든 C# 윈폼 템플릿 (저장 (Insert, Update) )
    C# 2020. 9. 15. 14:11

    클래스 변수로 String Mode를 만들어놓고 신규를 누르면 Mode ="Insert", 기본적으로는 Mode="Update"로 세팅해 놓고 

    - Insert가 끝나면 Mode를 Update로 돌린다.

    - 셀클릭을 해도 Mode를 Update로 돌린다.

    - 검색을 새로 해도 Mode를 Update로 돌린다.

     

    저장 버튼 클릭시 호출되는 메서드 필수입력 항목은 if문으로 저장프로세스가 실행되지 않도록 막아주고 그외의 항목들은 Insert할때 비어있으면 Null혹은 ""를 채워준다.

    if(MODE =="INSERT")
                {
                   
                        if (B_cboCOMP_NM.Text == "선택")
                        {
                            MetroMessageBox.Show(this, "회사명 입력해주세요");
                            return;
                        }
                        else if (B_cboPLANT_NM.Text == "선택")
                        {
                            MetroMessageBox.Show(this, "공장명을 입력해주세요");
                            return;
                        }
                        else if (B_cboWB_NM.Text == "선택")
                        {
                            MetroMessageBox.Show(this, "작업장을 입력해주세요");
                            return;
                        }
                        else if (B_txtWC_CD.Text == "")
                        {
                            MetroMessageBox.Show(this, "공정코드를 입력해주세요");
                            return;
                        }
                        else if (B_txtWC_NM.Text == "")
                        {
                            MetroMessageBox.Show(this, "공장코드명을 입력해주세요");
                            return;
                        }
                        else
                        {
    
                            if (checking_CD_primarykey() && checking_NM_primarykey())
                            {
                                InsertProcess();
                                MODE = "UPDATE";
                                DisableControl();
                            }
                            else
                            {
                                MetroMessageBox.Show(this, "중복된 공장코드 혹은 공장코드명입니다.");
    
                            }
                        }
                    
                }
                else if(MODE=="UPDATE")
                {
                    if(checking_NM_primarykey2())
                       UpdateProcess();
                }

     

     

    InsertProcess()

    using (SqlConnection conn = new SqlConnection(Commons.CONNSTRING)) //INSERT프로세스
                {
                    DataSet ds = new DataSet();
                    conn.Open();
    
                    // 2개의 파라미터 정의 (항상 @로 시작)
                    string sql = " INSERT INTO dbo.CIS_WC " +
                                 "      (COMP_CD " +
                                 "      , PLANT_CD  " +
                                 "      , WB_CD  " +
                                 "      , WC_CD " +
                                 "      , WC_NM " +
                                 "      , RMK " +
                                 "      , USE_YN  " +
                                 "      , CREATION_DATE  " +
                                 "      , CREATION_BY  " +
                                 "      , AlphaTime)  " +
                                 " VALUES " +
                                 "      (@COMP_CD " +
                                 "      , @PLANT_CD " +
                                 "      , @WB_CD " +
                                 "      , @WC_CD " +
                                 "      , @WC_NM " +
                                 "      , @RMK " +
                                 "      , @USE_YN " +
                                 "      , @CREATION_DATE " +
                                 "      , @CREATION_BY " +
                                 "      , @AlphaTime) ";
                    SqlCommand cmd = new SqlCommand(sql, conn);
    
                    SqlParameter paramCity = new SqlParameter("@COMP_CD", SqlDbType.VarChar, 10);
                    paramCity.Value = B_cboCOMP_NM.SelectedValue.ToString();
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@PLANT_CD", SqlDbType.VarChar, 10);
                    paramCity.Value = B_cboPLANT_NM.SelectedValue.ToString();
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@WB_CD", SqlDbType.VarChar, 10);
                    paramCity.Value = B_cboWB_NM.SelectedValue.ToString();
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@WC_CD", SqlDbType.VarChar, 10);
                    paramCity.Value = B_txtWC_CD.Text;
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@WC_NM", SqlDbType.VarChar, 50);
                    paramCity.Value = B_txtWC_NM.Text;
                    cmd.Parameters.Add(paramCity);
    
                    if (B_txtRMK.Text == "") //필수항목 외에는 조건을 걸어준다
                    {
                        paramCity = new SqlParameter("@RMK", SqlDbType.VarChar, 500);
                        paramCity.Value = "";
                        cmd.Parameters.Add(paramCity);
                    }
                    else
                    {
                        paramCity = new SqlParameter("@RMK", SqlDbType.VarChar, 500);
                        paramCity.Value = B_txtRMK.Text;
                        cmd.Parameters.Add(paramCity);
                    }
    
    
                    paramCity = new SqlParameter("@USE_YN", SqlDbType.VarChar, 1);
                    paramCity.Value = B_cboUSE_YN.Text.Substring(0, 1);
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@CREATION_DATE", SqlDbType.DateTime);
                    paramCity.Value = DateTime.Now.ToString();
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@CREATION_BY", SqlDbType.VarChar, 10);
                    paramCity.Value = Commons.LOGINUSERID;
                    cmd.Parameters.Add(paramCity);
    
                    if (B_txtALPHATIME.Text == "")
                    {
                        paramCity = new SqlParameter("@AlphaTime", SqlDbType.Decimal);
                        paramCity.Value = 0;
                        cmd.Parameters.Add(paramCity);
                    }
                    else
                    {
                        paramCity = new SqlParameter("@AlphaTime", SqlDbType.Decimal);
                        paramCity.Value = Decimal.Parse( B_txtALPHATIME.Text);
                        cmd.Parameters.Add(paramCity);
                    }
    
                    cmd.ExecuteNonQuery();
                    conn.Close();
                    MetroMessageBox.Show(this, "저장되었습니다.");
                }
                UpdateDataGridVview();

    미리 정의 해놓은 Select역할을 하는 UpdateDataGridVview()호출

     

    UpdateProcess()

     private void UpdateProcess()
            {
                using (SqlConnection conn = new SqlConnection(Commons.CONNSTRING)) //INSERT프로세스
                {
                    DataSet ds = new DataSet();
                    conn.Open();
    
                    // 2개의 파라미터 정의 (항상 @로 시작)
                    string sql = " UPDATE dbo.CIS_WC " +
                                 "  SET " +
                                 "      WC_NM = @WC_NM " +
                                 "     , RMK = @RMK " +
                                 "     , USE_YN = @USE_YN " +
                                 "     , UPDATE_DATE = @UPDATE_DATE " +
                                 "     , UPDATE_BY = @UPDATE_BY " +
                                 "     , AlphaTime = @AlphaTime " +
                                 " WHERE WC_CD = @WC_CD ";
                    SqlCommand cmd = new SqlCommand(sql, conn);
    
                    SqlParameter paramCity = new SqlParameter("@WC_CD", SqlDbType.VarChar, 10);
                    paramCity.Value = B_txtWC_CD.Text;
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@WC_NM", SqlDbType.VarChar, 50);
                    paramCity.Value = B_txtWC_NM.Text;
                    cmd.Parameters.Add(paramCity);
    
        
                    paramCity = new SqlParameter("@RMK", SqlDbType.VarChar, 500);
                    paramCity.Value = B_txtRMK.Text;
                    cmd.Parameters.Add(paramCity);
                    
                    paramCity = new SqlParameter("@USE_YN", SqlDbType.VarChar, 1);
                    paramCity.Value = B_cboUSE_YN.Text.Substring(0, 1);
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@UPDATE_DATE", SqlDbType.DateTime);
                    paramCity.Value = DateTime.Now.ToString();
                    cmd.Parameters.Add(paramCity);
    
                    paramCity = new SqlParameter("@UPDATE_BY", SqlDbType.VarChar, 10);
                    paramCity.Value = Commons.LOGINUSERID;
                    cmd.Parameters.Add(paramCity);
    
                  
                    paramCity = new SqlParameter("@AlphaTime", SqlDbType.Decimal);
                    paramCity.Value = Decimal.Parse(B_txtALPHATIME.Text);
                    cmd.Parameters.Add(paramCity);
                    
    
                    cmd.ExecuteNonQuery();
                    conn.Close();
                    MetroMessageBox.Show(this, "저장되었습니다.");
                }
                UpdateDataGridVview();
            }

     

Designed by Tistory.