|
패스워드를 새로 변경하려는 프로그램입니다. 아래 코드에 대충 나와있지만 기존의 패스워드를 검사해서 있다면 그 해당 줄의 필드(패스워드)를 새로 입력한 것으로 교체하는 프로그램입니다. 어떻게 해야 새 패스워드로 교체를 하는지 잘 모르겠네요. 질문올리는것두 좀 알구 올려야 되는뎅.....항상 허접소리만 듣습니다.ㅠ.ㅠ else문 이하가 교체하려는 내용입니다.
{
sqlstate = "select * from User where PWD = '"+Cond1+"'";
DM->RMSSvrQuery->Close();
DM->RMSSvrQuery->SQL->Clear();
DM->RMSSvrQuery->SQL->Add(sqlstate.c_str());
try {
DM->RMSSvrQuery->Open();
}
catch (EDBEngineError* dbError){
for(int i=0; i<dbError->ErrorCount; i++)
MessageBox(0, dbError[i].Message.c_str(), "SQL Error", MB_OK);
}
TDBEdit *DBEdit1;
DBEdit1 = new TDBEdit(this);
DBEdit1->DataSource = DM->RMSSvrDataSource;
DBEdit1->DataField = "PWD";
if(DBEdit1->Text != OldPasswordEdit->Text) {
ShowMessage("비밀번호가 틀립니다. \n\n확인하고 다시 입력하시기 바랍니다.");
}
else {
if( NewPW1->Text==NewPW2->Text )
{
//같다면 새로운 패스워드로 DB의 패스워드 교체
//기존의 DB의 행을 검사하여 바꾸고자 하는 패스워드가 있는 라인을 만난다면
//그 라인의 PW만 바꿔줘야겠지.
DM->RMSSvrQuery->First();
for(int i=0; i<DM->RMSSvrQuery->RecordCount; i++)
{
if(DBEdit1->Text == OldPasswordEdit->Text)
{
sqlstate = "insert into RMSUser(PWD ('"+NewPassword1->Text+"'))";
DM->RMSSvrQuery->Close();
DM->RMSSvrQuery->SQL->Clear();
DM->RMSSvrQuery->SQL->Add(sqlstate.c_str());
try {
DM->RMSSvrQuery->ExecSQL();
}
catch (EDBEngineError* dbError){
for(int i=0; i<dbError->ErrorCount; i++)
MessageBox(0, dbError[i].Message.c_str(), "SQL Error", MB_OK);
}
break;
}
DM->RMSSvrQuery->Next();
}
}
else ShowMessage("새로운 패스워드가 같지 않습니다. 재입력하세요.");
}
}
|