|
// *********************************************************
// 更新
// 1) 更新前のチェック
// 2) 更新
// 3) 更新後の画面編集
// 4) 更新後の画面遷移
// *********************************************************
void MyDlg::UpdateData()
{
// 更新確認
if ( !MsgOkCancel( "更新してよろしいですか? " ) ) {
return;
}
// データベース接続
if ( !CurDb.Connect() ) {
MsgOk("接続に失敗しました \n%s", CurDb.ErrMessage.szLboxString);
return;
}
// 処理区分別の更新処理
LboxString Query;
LboxString LWork;
LboxString LType;
Type->SelectedGetData( <ype );
int nType;
nType = LType.Atoi();
switch( nType ) {
// 登録
case 1:
Query.operator = ("insert into 社員マスタ");
Query.operator += (" (社員コード,氏名,所属,作成日,更新日)");
Query.operator += (" values(");
this->EditGetText( IDC_KEY, &LWork );
LWork.Enclose( "'" );
Query.operator += (&LWork);
this->EditGetText( IDC_NAME, &LWork );
LWork.Enclose( "'" );
Query.operator += (",");
Query.operator += (&LWork);
this->Syozoku->SelectedGetData( &LWork );
LWork.Enclose( "'" );
Query.operator += (",");
Query.operator += (&LWork);
Query.operator += (",CURDATE(),CURDATE())");
if ( !CurDb.Query( &Query ) ) {
MsgOk("%s", CurDb.ErrMessage.szLboxString);
CurDb.DisConnect();
return;
}
break;
// 修正
case 2:
Query.operator = ("update 社員マスタ");
Query.operator += (" set 氏名 = ");
this->EditGetText( IDC_NAME, &LWork );
LWork.Enclose( "'" );
Query.operator += (&LWork);
Query.operator += (",所属 = ");
this->Syozoku->SelectedGetData( &LWork );
LWork.Enclose( "'" );
Query.operator += (&LWork);
Query.operator += (",作成日 = ");
this->CreateDate.GetDateString( &LWork );
LWork.Enclose( "'" );
Query.operator += (&LWork);
Query.operator += (",更新日 = CURDATE()");
Query.operator += (" where 社員コード = ");
this->EditGetText( IDC_KEY, &LWork );
LWork.Enclose( "'" );
Query.operator += (&LWork);
if ( !CurDb.Query( &Query ) ) {
MsgOk("%s", CurDb.ErrMessage.szLboxString);
CurDb.DisConnect();
return;
}
break;
// 削除
case 3:
Query.operator = ("delete from 社員マスタ");
Query.operator += (" where 社員コード = ");
this->EditGetText( IDC_KEY, &LWork );
LWork.Enclose( "'" );
Query.operator += (&LWork);
if ( !CurDb.Query( &Query ) ) {
MsgOk("%s", CurDb.ErrMessage.szLboxString);
CurDb.DisConnect();
return;
}
break;
}
// データベース接続解除
CurDb.DisConnect();
// 画面編集
this->StatusSetText( "正常に更新されました" );
this->EditSetText( IDC_KEY, "" );
// 画面遷移
this->CancelData();
}
| |