⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mphonequeryview.cpp

📁 用c++编的一个手机花费管理系统的一个应用,比较实用
💻 CPP
📖 第 1 页 / 共 3 页
字号:
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin == TRUE )
	{
		CAddUserDlg dlg;
		dlg.m_bAppend = true;
		dlg.DoModal();	
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}
}

void CMPhoneQueryView::OnMenuAlteruserinfo() 
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin == TRUE)
	{
		if ( m_ListCtrl && m_strCurrentList != "用户信息列表" )	
		{
			m_ListCtrl.DestroyWindow();
			CreateUserInfo();
			return;
		}
		if ( !m_ListCtrl )
		{
			CreateUserInfo();
			return;
		}  
    
		//弹出警告对话框
		POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
		if (pos == NULL) 
		{
			AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION);
		}
		else
		{
		   CAddUserDlg dlg;
		   dlg.m_bAppend = false;
		   
		   int iItem             = m_ListCtrl.GetNextSelectedItem(pos);
		   // 获得手机号码
		   dlg.m_strPhoneNo      = m_ListCtrl.GetItemText(iItem, 1);
		   // 获得手机密码
		   dlg.m_strPhonePswd    = m_ListCtrl.GetItemText(iItem, 2);
		   // 获得套餐种类
		   dlg.m_strFeeType      = m_ListCtrl.GetItemText(iItem, 3);
		   // 获得手机余额
		   dlg.m_strPhoneBalance = m_ListCtrl.GetItemText(iItem, 4);
		   // 获得用户姓名
		   dlg.m_strUserName     = m_ListCtrl.GetItemText(iItem, 5);
		   // 获得用户性别
		   dlg.m_strUserSex      = m_ListCtrl.GetItemText(iItem, 6); 
		   // 获得用户身份证号
		   dlg.m_strUserNo       = m_ListCtrl.GetItemText(iItem, 7); 
		   // 获得用户家庭住址	   
		   dlg.m_strUserAddr     = m_ListCtrl.GetItemText(iItem, 8); 
		   
		   dlg.m_strPhoneNo.TrimRight(" ");
		   dlg.m_strPhonePswd.TrimRight(" ");
		   dlg.m_strFeeType.TrimRight(" ");
		   dlg.m_strPhoneBalance.TrimRight(" ");
		   dlg.m_strUserName.TrimRight(" ");
		   dlg.m_strUserSex.TrimRight(" ");
		   dlg.m_strUserNo.TrimRight(" ");
		   dlg.m_strUserAddr.TrimRight(" ");

		   // 记录不能修改的参数
		   dlg.m_strPreUserNo  = dlg.m_strUserNo;
		   dlg.m_strPrePhoneNo = dlg.m_strPhoneNo;

		   dlg.DoModal();
		}	
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

}



void CMPhoneQueryView::OnMenuDeluserinfo() 
{
	// TODO: Add your command handler code here
	if ( theApp.m_bIsLogin == TRUE)
	{
		if ( m_ListCtrl && m_strCurrentList!="用户信息列表" )	
		{
			m_ListCtrl.DestroyWindow();
			CreateUserInfo();
		}

		if ( !m_ListCtrl )
		{
			CreateUserInfo();
		}
			
		// 删除记录
		POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
		if ( pos == NULL ) 
		{
			AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION);
			return;
		}
		else
		{
			CDelConfirmDlg delConf;
			delConf.DoModal();
			if ( !m_bDelConfirm )
			{
				return;
			}

			int iItem;       
			CString strPhoneId, strUserNo;
			_variant_t Holder, strQuery;

			while (pos)
			{	
				iItem = m_ListCtrl.GetNextSelectedItem(pos);
				strPhoneId = m_ListCtrl.GetItemText(iItem, 0);
				strQuery = "delete from phone where phone_id = '"+strPhoneId+"'";
				theApp.ADOExecute(theApp.m_pADOSet, strQuery);	
				
				strUserNo = m_ListCtrl.GetItemText(iItem, 7);
				if (strUserNo != "")
				{
					strQuery = "select cus_id from customer where ID_no = '"+strUserNo+"'";
					theApp.ADOExecute(theApp.m_pADOSet, strQuery);
					Holder  = theApp.m_pADOSet ->GetCollect("cus_id");
					CString strUserId = (char*)(_bstr_t)Holder;
										
					strQuery = "select * from phone where cus_id = '"+strUserId+"'";
					theApp.ADOExecute(theApp.m_pADOSet, strQuery);
					int iCount = theApp.m_pADOSet ->GetRecordCount();
					if (iCount == 0)
					{
						strQuery = "delete from customer where ID_no = '"+strUserNo+"'";
						theApp.ADOExecute(theApp.m_pADOSet, strQuery);
					}
				}
				
				AfxMessageBox(_T("删除成功!"), MB_ICONEXCLAMATION);
			}

			//刷新列表
			RefreshUser();
		}
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;
}

void CMPhoneQueryView::OnMenuQueryuserinfo() 
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin == TRUE)
	{
		_variant_t strQuery, Holder;
	
		strQuery = "select phone_id from phone";
		theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		int iCount = theApp.m_pADOSet->GetRecordCount();
		if ( iCount == 0 ) 
		{
			AfxMessageBox(_T("目前没有记录!"), MB_ICONEXCLAMATION);
			return;
		}

		CQueryUserInfoDlg dlg;
		dlg.DoModal();	
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

}


void CMPhoneQueryView::OnMenuListorderinfo() 
{
	// TODO: Add your command handler code here
	if ( theApp.m_bIsLogin == TRUE)
	{
		m_ListCtrl.DestroyWindow();
		CreateOrderInfo();
			
		m_strCurrentList = _T("手机充值信息列表");
		m_StaticCtrl.SetWindowText(m_strCurrentList);

	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;		
}



void CMPhoneQueryView::OnMenuAddorderinfo() 
{
	// TODO: Add your command handler code here
	if ( theApp.m_bIsLogin == TRUE)
	{	
		if ( m_ListCtrl && m_strCurrentList!="手机充值信息列表" )
		{
			m_ListCtrl.DestroyWindow();
			CreateOrderInfo();
			return;
		}

		CAddOrderDlg dlg;
		dlg.DoModal();

	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;	
}



void CMPhoneQueryView::OnMenuQueryorderinfo() 
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin == TRUE)
	{
		_variant_t strQuery, Holder;
	
		strQuery = "select order_id from [order]";
		theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		int iCount = theApp.m_pADOSet->GetRecordCount();
		if ( iCount == 0 ) 
		{
			AfxMessageBox(_T("目前没有记录!"), MB_ICONEXCLAMATION);
			return;
		}

		CQueryOrderDlg dlg;
		dlg.DoModal();		
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

}

void CMPhoneQueryView::OnMenuAlteradmininfo() 
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin = true)
	{
		if ( m_ListCtrl && m_strCurrentList != "管理员信息列表" )	
		{
			m_ListCtrl.DestroyWindow();
			CreateAdminInfo();
			return;
		}
		if ( !m_ListCtrl )
		{
			CreateAdminInfo();
			return;
		}  
    
		//弹出警告对话框
		POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
		if (pos == NULL) 
		{
			AfxMessageBox(_T("没有选中记录!"), MB_ICONEXCLAMATION);
		}
		else
		{
		   CAddAdminDlg dlg;
		   dlg.m_bAppend = false;
		   
		   int iItem          = m_ListCtrl.GetNextSelectedItem(pos);
		   // 获得管理员编号
		   dlg.m_strAdminId   = m_ListCtrl.GetItemText(iItem, 0);
		   // 获得管理员姓名
		   dlg.m_strAdminName = m_ListCtrl.GetItemText(iItem, 1);
		   // 获得管理员密码
		   dlg.m_strAdminPswd = m_ListCtrl.GetItemText(iItem, 2);
		   // 获得管理员性别
		   dlg.m_strAdminSex  = m_ListCtrl.GetItemText(iItem, 3);
		   // 获得管理员住址
		   dlg.m_strAdminAddr = m_ListCtrl.GetItemText(iItem, 4);
		   // 获得是否高层管理员
		   dlg.m_strIsManager = m_ListCtrl.GetItemText(iItem, 5);

		   
		   dlg.m_strAdminId.TrimRight(" ");
		   dlg.m_strAdminName.TrimRight(" ");
		   dlg.m_strAdminPswd.TrimRight(" ");
		   dlg.m_strAdminSex.TrimRight(" ");
		   dlg.m_strAdminAddr.TrimRight(" ");
		   dlg.m_strIsManager.TrimRight(" ");

		   // 记录不能修改的参数
		   dlg.m_strPreAdminId  = dlg.m_strAdminId;

		   dlg.DoModal();
		}		
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

}

void CMPhoneQueryView::OnMenuBackup() 
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin == TRUE)
	{
		_variant_t Holder, strQuery;

		CString strLoginID = theApp.m_strCurAdminID;
		strQuery = "select is_manager from staff where staff_id ='"+strLoginID+"'";
		theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		
		// 判断该管理员是否有增加的权限
		Holder = theApp.m_pADOSet ->GetCollect("is_manager");
		int bIsManager = Holder.iVal;

		if (bIsManager)
		{
			static char BASED_CODE szFilter[] = "bak Files (*.bak)|*.bak|All Files (*.*)|*.*||";
			CFileDialog dlg(FALSE,"bak",NULL,  OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
			if (dlg.DoModal() == IDOK)
			{
				CString strFileName = dlg.GetPathName();
				
				if(_taccess(strFileName, 00) == -1)
				{
					strQuery = "EXEC sp_addumpdevice 'disk','DiskBak_MPQ','"+strFileName+"'";
					theApp.ADOExecute(theApp.m_pADOSet, strQuery);
				}
				strQuery = "BACKUP DATABASE MPhoneData to DiskBak_MPQ";
				if (theApp.ADOExecute(theApp.m_pADOSet, strQuery))
				{
					AfxMessageBox(_T("备份成功!"), MB_ICONEXCLAMATION);
				}
				else
				{
					AfxMessageBox(_T("备份失败!"), MB_ICONEXCLAMATION);
				}
			}
		}
		else
		{
			AfxMessageBox(_T("你没有该权限,请核对后再来!"), MB_ICONEXCLAMATION);
		}
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}
	
}

void CMPhoneQueryView::OnMenuRestore() 
{
	// TODO: Add your command handler code here
	if (theApp.m_bIsLogin == TRUE)
	{
		_variant_t Holder, strQuery;

		CString strLoginID = theApp.m_strCurAdminID;
		strQuery = "select is_manager from staff where staff_id ='"+strLoginID+"'";
		theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		
		// 判断该管理员是否有增加的权限
		Holder = theApp.m_pADOSet ->GetCollect("is_manager");
		int bIsManager = Holder.iVal;

		if (bIsManager)
		{
			static char BASED_CODE szFilter[] = "bak Files (*.bak)|*.bak|All Files (*.*)|*.*||";
			CFileDialog dlg(TRUE,"bak",NULL,  OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
			if (dlg.DoModal() == IDOK)
			{
				LPCTSTR strFileName = dlg.GetPathName();
				if (m_ListCtrl)
				{
					m_ListCtrl.DestroyWindow();
				}

				// 断开对当前数据库的连接
				if( adStateOpen == theApp.m_pADOConn->State )	
				{
					theApp.m_pADOConn ->Close();
				}
				theApp.m_pADOConn.Release();	
				
				_ConnectionPtr ADOConn;
				try
				{
					ADOConn.CreateInstance (__uuidof(Connection));
					ADOConn->Open("DSN=MASTER; Provider = MSDASQL", "sa", "", adConnectUnspecified);
				}

				catch (_com_error & e)
				{
					CString err;
					err.Format("无法连接数据库", (char*)(e.Description()));
					AfxMessageBox(err);
				}
				
				catch(...)
				{
					AfxMessageBox("Unknown Error...");
				}

				strQuery = "RESTORE DATABASE MPhoneData from DiskBak_MPQ";
				_variant_t RecordsAffected;			
				
				try
				{
					ADOConn ->Execute((_bstr_t)strQuery, &RecordsAffected, adCmdText);
					
					strQuery = "sp_dropdevice 'DiskBak_MPQ'";
					ADOConn ->Execute((_bstr_t)strQuery, &RecordsAffected, adCmdText);					
					
					AfxMessageBox(_T("备份还原成功!"), MB_ICONEXCLAMATION);					
				}
				catch(_com_error &e)
				{
				   CString err;
				   err.Format("ADO Error: %s",(char*)e.Description());
				   AfxMessageBox(err);
				   AfxMessageBox(_T("备份还原失败!"), MB_ICONEXCLAMATION);
				}	

				// 重新连接
				if( FAILED(::CoInitialize(NULL)) ) 
				{
					AfxMessageBox(_T("备份还原失败!ADO Init failed"), MB_ICONEXCLAMATION);
					return;

				}
				try
				{
					theApp.m_pADOConn.CreateInstance(__uuidof(Connection));
					theApp.m_pADOConn ->Open("DSN=MPQ;Provider=MSDASQL","","", adConnectUnspecified);
				}
				// 捕捉例外
				catch(_com_error &e)
				{
					CString err;
					err.Format("%s", (char*)(e.Description()) );
					AfxMessageBox(err);
				}
				catch(...)
				{
					AfxMessageBox("Unknown Error...");
				}

			}

			if (m_strCurrentList == _T("用户信息列表"))
			{
				RefreshUser();
			}
			else if (m_strCurrentList == _T("手机充值信息列表"))
			{
				RefreshOrder();
			}
			else if (m_strCurrentList == _T("管理员信息列表"))
			{	
				RefreshAdmin();
			}
		}
		else
		{
			AfxMessageBox(_T("你没有该权限,请核对后再来!"), MB_ICONEXCLAMATION);
		}
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}	
}

void CMPhoneQueryView::OnMenuUserquery() 
{
	// TODO: Add your command handler code here
	CUserQueryDlg dlg;
	dlg.DoModal();
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -