void CMaintenanceMenu::OnButton9(int iEvent, unsigned char * pEventData, int iDataLen) { if (g_globalArg->m_initFlag == 0) { CaMsgBox::ShowMsg("机器未初始化"); return ; } CInvServ invServ; CInvHead invHead; CInvDet invDet; INT32 nErrCode; INT8 chValue[128]; invServ.Requery(); nErrCode = invServ.LoadOneRecord(); DBG_PRINT(("nErrCode= %u",nErrCode)); if( nErrCode != SQLITE_OK ) { CaMsgBox::ShowMsg("无缓存记录"); return; } memset(chValue, 0, sizeof(chValue)); sprintf(chValue,"代码:'%s' 号码:%u 确认删除?", invServ.m_code.c_str(), invServ.m_InvNo); CaMsgBox msgBox(chValue,CaMsgBox::MB_YESNO); msgBox.ShowBox(); if (msgBox.m_iStatus == OK_PRESSED) { memset((void*)chValue, 0, sizeof(chValue)); //sprintf(chValue, "where CODE = '%s' and INV_NO = %u", invServ.m_code.c_str(), invServ.m_InvNo); // 更改inv_serv中的两个字段 sprintf(chValue, "where FPDM = '%s' and FPHM = %u", invServ.m_code.c_str(), invServ.m_InvNo); invHead.m_filter = chValue; nErrCode = invHead.Delete(); if (SQLITE_OK != nErrCode) { CaMsgBox::ShowMsg("删除失败"); return; } invDet.m_filter = chValue; nErrCode = invDet.Delete(); if (SQLITE_OK != nErrCode) { CaMsgBox::ShowMsg("删除失败"); return; } sprintf(chValue, "where CODE = '%s' and INV_NO = %u", invServ.m_code.c_str(), invServ.m_InvNo); invServ.m_filter = chValue; nErrCode = invServ.Delete(); if (SQLITE_OK != nErrCode) { CaMsgBox::ShowMsg("删除失败"); return; } CaMsgBox::ShowMsg("删除成功"); if(0 != g_globalArg->m_InvServNum) { g_globalArg->m_InvServNum--; } DBG_PRINT(("m_InvServNum = %u", g_globalArg->m_InvServNum )); } }