C#/WindowForm
ACCESS를 사용한 DB연결 -3 (PhoneBook)
hyun0229
2022. 5. 18. 16:13
저번글에 이어서 검색과 수정버튼을 제작하겠습니다.
검색버튼
// 검색
private void btnSearch_Click(object sender, EventArgs e)
{
if (txtSId.Text == "" &&
txtSName.Text == "" &&
txtPhone.Text == "")
return;
connOpen();
string sql = string.Format("SELECT * FROM StudentTable WHERE ");
if (txtSId.Text != "")
sql += "SId = " + txtSId.Text;
else if(txtSName.Text != "")
sql += "SName = '" + txtSName.Text + "'";
else if(txtPhone.Text != "")
sql += "Phone = '" + txtPhone.Text + "'";
comm = new OleDbCommand(sql, conn);
//MessageBox.Show(sql);
lstStudent.Items.Clear(); // 리스트박스를 지워주고
reader = comm.ExecuteReader(); // DisplayStudent() 에서 복사해 온 부분
while (reader.Read())
{
string x = "";
x += reader["ID"] + "\t";
x += reader["SId"] + "\t";
x += reader["SName"] + "\t";
x += reader["Phone"];
lstStudent.Items.Add(x);
}
reader.Close();
conn.Close();
conn = null;
}
첫줄에 아이디, 이름, 전화번호가 모두 없을 경우 리턴합니다.
존재한다면 string sql = string.Format("SELECT * FROM StudentTable WHERE ");에 아이디, 이름, 전화번호 순으로 먼저 존재하는 값을 뒤에 추가해줍니다.
그 후 리스트박스를 초기화 해주고 검색한 값을 가져옵니다.
수정버튼
private void btnUpdate_Click(object sender, EventArgs e)
{
connOpen();
string sql = string.Format("UPDATE StudentTable SET SId={0}, SName='{1}', Phone='{2}' WHERE ID={3}",
txtSId.Text, txtSName.Text, txtPhone.Text, txtID.Text);
comm = new OleDbCommand(sql, conn);
int x = comm.ExecuteNonQuery();
if (x == 1)
MessageBox.Show("수정 성공!");
connClose();
}
UPDATE를 사용해 DB에 저장된 값을 수정(업데이트)합니다.
만약 수정을 성공할시 1값을 반환받고 if문을 통해 MessageBox를 사용합니다.
실행결과