DB マスタメンテ


  UpdateData



  
// *********************************************************
// 更新
// 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( &LType );
	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();
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ