//데이터 추가 private void InputDataStrip_Click(object sender, EventArgs e) { InputForm iForm = new InputForm(conn); iForm.ShowDialog(); /* * 리스트 아이템이 null이 아닌 경우에(새로 정보를 입력한 경우에) * 데이터리스트에 추가를 하고 * 리스트 뷰에 새로 갱신한 정보를 추가한다. */ if (iForm.IsInputNewData()) { //새로운 리스트 뷰 생성 ListViewItem newItem = iForm.GetNewItem(); //새로운 데이터 생성 PswdData newData = new PswdData(newItem.Name, newItem.SubItems[0].Name, newItem.SubItems[1].Name); //데이터리스트에 추가 dataManager.AddData(newData); //리스트 뷰 추가 DataView.Items.Add(newItem); } iForm.Dispose(); return; }
private void ModifyBtn_Click(object sender, EventArgs e) { if (SiteBox.Text == "" || idBox.Text == "" || PswdBox.Text == "") { MessageBox.Show("해당 칸에 입력을 하지 않으셨습니다.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //똑같을 경우(차이가 없는 경우) else if (LastData.IsSame(new PswdData(SiteBox.Text, idBox.Text, PswdBox.Text))) { Close(); //그냥 나가기 } else //전부다 입력이 되어있고 한 글자라도 변경이 된 경우 { //PswdData 생성 newData = new PswdData(SiteBox.Text, idBox.Text, PswdBox.Text); //DB에 업데이트 new DataControl(sql).ModifyData(LastData, newData); //리스트뷰 아이템 생성 newItem = new ListViewItem(newData.GetName()); newItem.SubItems.Add(newData.GetID()); newItem.SubItems.Add(newData.GetPswd()); //끝 Close(); } }
//제거 private void DeleteDataStrip_Click(object sender, EventArgs e) { PswdData DeleteData = null; //선택된 데이터 설정 try { DeleteData = new PswdData(DataView.SelectedItems[0].SubItems[0].Text, DataView.SelectedItems[0].SubItems[1].Text, DataView.SelectedItems[0].SubItems[2].Text); } catch (ArgumentOutOfRangeException) //선택되지 않은 경우 { MessageBox.Show("해당 데이터가 선택되지 않았습니다.", "ERROr", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //정말로 삭제하시겠습니까? DialogResult AreYouDelete = MessageBox.Show("정말로 삭제하시겠습니까?", "ERROR", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (AreYouDelete.Equals(DialogResult.No)) //아니오 { return; //취소 } else { //DB에서 삭제 new DataControl(conn).DeleteData(DeleteData); //데이터리스트에서 삭제 dataManager.DeleteData(DeleteData); //뷰에서도 삭제 DataView.SelectedItems[0].Remove(); } }
//클래스를 이용한 정보수정 public void ModifyData(PswdData LastData, PswdData newData) { sql.Open(); SQLiteCommand cmd = new SQLiteCommand(sql); cmd.CommandText = string.Format("update Info set Name = '{0}', ID = '{1}', Pswd = '{2}' where Name = '{3}' and ID = '{4}' and Pswd = '{5}'", newData.GetName(), newData.GetID(), newData.GetPswd(), LastData.GetName(), LastData.GetID(), LastData.GetPswd()); cmd.ExecuteNonQuery(); cmd.Dispose(); sql.Close(); }
//PswdData 로부터 DB에 정보 삭제 public void DeleteData(PswdData InputData) { sql.Open(); SQLiteCommand cmd = new SQLiteCommand(sql); cmd.CommandText = string.Format("delete from Info where Name = '{0}' and ID = '{1}' and Pswd = '{2}'", InputData.GetName(), InputData.GetID(), InputData.GetPswd()); cmd.ExecuteNonQuery(); cmd.Dispose(); sql.Close(); }
//PswdData 로부터 DB에 정보 입력 public void InputData(PswdData InputData) { sql.Open(); SQLiteCommand cmd = new SQLiteCommand(sql); cmd.CommandText = string.Format("insert into Info (Name, ID, Pswd) values ('{0}', '{1}', '{2}')", InputData.GetName(), InputData.GetID(), InputData.GetPswd()); cmd.ExecuteNonQuery(); cmd.Dispose(); sql.Close(); }
public ListViewItem GetNewItem() => newItem; //갱신된 아이템 추출 public ModifyForm(SQLiteConnection conn, PswdData LastData) { //sql, 이전데이터 세팅 sql = conn; this.LastData = LastData; InitializeComponent(); //사이트 아이디 비밀번호 텍스트 박스에 이전 데이터 삽입 SiteBox.Text = this.LastData.GetName(); idBox.Text = this.LastData.GetID(); PswdBox.Text = this.LastData.GetPswd(); }
//데이터리스트 수정 public void ModifyData(PswdData LastData, PswdData NewData) { int index = 0; foreach (PswdData SelectedData in DataList) { if (SelectedData.IsSame(LastData)) { DataList[index].SetData(NewData); break; } index++; } }
//데이터리스트 제거 public void DeleteData(PswdData DeleteData) { int index = 0; foreach (PswdData SelectedData in DataList) { if (SelectedData.IsSame(DeleteData)) { DataList.RemoveAt(index); break; } index++; } }
//데이터 수정 private void ModifyDataStrip_Click(object sender, EventArgs e) { PswdData LastData = null; //선택된 데이터 설정 try { LastData = new PswdData(DataView.SelectedItems[0].SubItems[0].Text, DataView.SelectedItems[0].SubItems[1].Text, DataView.SelectedItems[0].SubItems[2].Text); } catch (ArgumentOutOfRangeException) //선택하지 않았을 경우 { MessageBox.Show("해당 데이터가 선택되지 않았습니다.", "ERROr", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //수정 폼 접근 ModifyForm mForm = new ModifyForm(conn, LastData); mForm.ShowDialog(); PswdData newData = mForm.GetNewData(); ListViewItem newItem = mForm.GetNewItem(); //취소가 아닌 변경을 눌렀을 경우 if (mForm.isModified()) { //데이터 변경 dataManager.ModifyData(LastData, newData); //리스트 수정 int index = DataView.SelectedItems[0].Index; //1.해당 리스트 삭제 DataView.Items.RemoveAt(index); //2.갱신 DataView.Items.Add(newItem); } mForm.Dispose(); return; }
//데이터리스트 추가 public void AddData(PswdData newData) => DataList.Add(newData);
//내용이 같은지 판단 여부 public bool IsSame(PswdData cmpData) { return(cmpData.GetName().Equals(Name) && cmpData.GetID().Equals(ID) && cmpData.GetPswd().Equals(Pswd)); }
//클래스로 새 정보 수정 public void SetData(PswdData newData) { Name = newData.GetName(); ID = newData.GetID(); Pswd = newData.GetPswd(); }