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

📄 mphonequeryview.cpp

📁 用c++编的一个手机花费管理系统的一个应用,比较实用
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			Holder = theApp.m_pADOSet->GetCollect("password");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 2, strInsert);

			// 获得手机套餐使用种类
			Holder = theApp.m_pADOSet->GetCollect("fee_type");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 3, strInsert);
			
			// 获得手机余额
			Holder = theApp.m_pADOSet->GetCollect("balance");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 4, strInsert);

			// 获得用户姓名
			Holder = theApp.m_pADOSet->GetCollect("cus_name");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;		
			m_ListCtrl.SetItemText(i, 5, strInsert);

			// 获得用户性别
			Holder = theApp.m_pADOSet->GetCollect("sex");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			if(strInsert == '0')
			{
				strInsert = "女";
			}
			else
			{
				strInsert = "男";
			}
			m_ListCtrl.SetItemText(i, 6, strInsert);

			// 获得用户身份证号
			Holder = theApp.m_pADOSet->GetCollect("ID_no");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;		
			m_ListCtrl.SetItemText(i, 7, strInsert);

			// 获得管理员家庭住址
			Holder = theApp.m_pADOSet->GetCollect("cus_addr");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 8, strInsert);

			theApp.m_pADOSet->MoveNext();
		}
	}


	// 获得所有无用户记载的手机记录
    strQuery = "select * from phone \
		where cus_id is NULL order by phone_id";
	int i = theApp.ADOExecute(theApp.m_pADOSet, strQuery);

    iCount = theApp.m_pADOSet->GetRecordCount();
	if ( iCount == 0 ) return;

	CString strInsert;
	theApp.m_pADOSet->MoveFirst();
	for(int j = 0; j < iCount; j++)
	{
		// 获得手机用户编号
		Holder = theApp.m_pADOSet->GetCollect("phone_id");
		strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
		m_ListCtrl.InsertItem(j, strInsert);

		// 获得手机号码
		Holder = theApp.m_pADOSet->GetCollect("phone_no");
	    strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(j, 1, strInsert);

	    // 获得手机密码
        Holder = theApp.m_pADOSet->GetCollect("password");
	    strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(j, 2, strInsert);

		// 获得手机套餐使用种类
        Holder = theApp.m_pADOSet->GetCollect("fee_type");
		strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(j, 3, strInsert);
		
		// 获得手机余额
        Holder = theApp.m_pADOSet->GetCollect("balance");
	    strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(j, 4, strInsert);


		theApp.m_pADOSet->MoveNext();
	}	
    
	m_strCurrentList = _T("用户信息列表");
    m_StaticCtrl.SetWindowText(m_strCurrentList);

	return;

}

void CMPhoneQueryView::CreateUserInfo(_variant_t strQuery, CString strUserNo)
{	
	CRect rect;
	GetClientRect(rect);
	rect.top += 30;

	m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);

	m_ListCtrl.SetBkColor(RGB(177, 151, 240));
	m_ListCtrl.SetTextColor(RGB(0,0,0));
	m_ListCtrl.SetTextBkColor(RGB(177, 151, 240));
	
	// Set EX-Style
	m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);

	// 创建标题
	m_ListCtrl.InsertColumn(0, _T("手机用户编号"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(1, _T("手机号码"), LVCFMT_LEFT, 100);
    m_ListCtrl.InsertColumn(2, _T("手机密码"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(3, _T("手机套餐使用种类"), LVCFMT_LEFT, 100);
    m_ListCtrl.InsertColumn(4, _T("手机余额"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(5, _T("用户姓名"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(6, _T("用户性别"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(7, _T("用户身份证号"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(8, _T("用户家庭住址"), LVCFMT_LEFT, 100);

	// 获得所有有用户记载的手机记录
	_variant_t Holder;
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);

    int iCount = theApp.m_pADOSet->GetRecordCount();
	if ( iCount != 0 ) 
	{   
		CString strInsert;
		theApp.m_pADOSet->MoveFirst();
		for(int i = 0; i < iCount; i++)
		{
			// 获得手机用户编号
			Holder = theApp.m_pADOSet->GetCollect("phone_id");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.InsertItem(i, strInsert);

			// 获得手机号码
			Holder = theApp.m_pADOSet->GetCollect("phone_no");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 1, strInsert);

			// 获得手机密码
			Holder = theApp.m_pADOSet->GetCollect("password");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 2, strInsert);

			// 获得手机套餐使用种类
			Holder = theApp.m_pADOSet->GetCollect("fee_type");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 3, strInsert);
			
			// 获得手机余额
			Holder = theApp.m_pADOSet->GetCollect("balance");
			strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
			m_ListCtrl.SetItemText(i, 4, strInsert);

			if (strUserNo != "%")
			{
				// 获得用户姓名
				Holder = theApp.m_pADOSet->GetCollect("cus_name");
				strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;		
				m_ListCtrl.SetItemText(i, 5, strInsert);

				// 获得用户性别
				Holder = theApp.m_pADOSet->GetCollect("sex");
				strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
				if(strInsert == '0')
				{
					strInsert = "女";
				}
				else
				{
					strInsert = "男";
				}
				m_ListCtrl.SetItemText(i, 6, strInsert);

				// 获得用户身份证号
				Holder = theApp.m_pADOSet->GetCollect("ID_no");
				strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;		
				m_ListCtrl.SetItemText(i, 7, strInsert);

				// 获得管理员家庭住址
				Holder = theApp.m_pADOSet->GetCollect("cus_addr");
				strInsert = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
				m_ListCtrl.SetItemText(i, 8, strInsert);
			}

			theApp.m_pADOSet->MoveNext();
		}
	}
	else
	{
		AfxMessageBox(_T("目前没有该项纪录,请查对后再来!"), MB_ICONEXCLAMATION);
		m_strCurrentList = _T("用户信息列表");
		m_StaticCtrl.SetWindowText(m_strCurrentList);
		
		return;

	}	
    
	m_strCurrentList = _T("用户信息列表");
	m_StaticCtrl.SetWindowText(m_strCurrentList);


	return;

}



void CMPhoneQueryView::OnInitialUpdate() 
{
	CView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
	CRect rect;
	GetClientRect(&rect);
	m_StaticCtrl.Create(m_strCurrentList, WS_VISIBLE | SS_CENTER, rect, this, 1);

	// Initializes a CFont object with the specified characteristics. 
	VERIFY(m_font.CreateFont(
	   15,                        // nHeight
	   8,                         // nWidth
	   0,                         // nEscapement
	   0,                         // nOrientation
	   FW_NORMAL,                 // nWeight
	   FALSE,                     // bItalic
	   FALSE,                     // bUnderline
	   0,                         // cStrikeOut
	   ANSI_CHARSET,              // nCharSet
	   OUT_DEFAULT_PRECIS,        // nOutPrecision
	   CLIP_DEFAULT_PRECIS,       // nClipPrecision
	   DEFAULT_QUALITY,           // nQuality
	   DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
	   "宋体"));				  // lpszFacename
	
}

void CMPhoneQueryView::RefreshAdmin()
{
	if (m_ListCtrl)
	{
		m_ListCtrl.DestroyWindow();
	}
	
    CreateAdminInfo();

	return;

}

void CMPhoneQueryView::RefreshUser()
{
	if (m_ListCtrl)
	{
		m_ListCtrl.DestroyWindow();
	}
	
    CreateUserInfo();

	return;
}

void CMPhoneQueryView::RefreshUser(_variant_t strQuery, CString strUserNo)
{
	if (m_ListCtrl)
	{
		m_ListCtrl.DestroyWindow();
	}
	
    CreateUserInfo(strQuery, strUserNo);

	return;

}

void CMPhoneQueryView::RefreshOrder()
{
	if (m_ListCtrl)
	{
		m_ListCtrl.DestroyWindow();
	}
	
    CreateOrderInfo();

	return;
}

void CMPhoneQueryView::RefreshOrder(_variant_t strQuery)
{
	if (m_ListCtrl)
	{
		m_ListCtrl.DestroyWindow();
	}
	
    CreateOrderInfo(strQuery);
	return;
}


/////////////////////////////////////////////////////////////////////////////
// CMPhoneQueryView message handlers

void CMPhoneQueryView::OnMenuLogin() 
{
	// TODO: Add your command handler code here
	// 弹出登录对话框
	CLoginDlg dlg;
	dlg.m_strLoginName = "Administrator";
	dlg.DoModal();

	return;	
}

void CMPhoneQueryView::OnMenuChangepwd() 
{
	// TODO: Add your command handler code here
	if ( theApp.m_bIsLogin == TRUE)
	{	
		CChangePswd dlg;
		dlg.DoModal();
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

}

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

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

		if (bIsManager)
		{
			if ( m_ListCtrl && m_strCurrentList!="管理员信息列表" )
			{
				m_ListCtrl.DestroyWindow();
				CreateAdminInfo();
				return;
			}

			CAddAdminDlg dlg;
			dlg.m_bAppend = true;
			dlg.m_strIsManager = _T("否");
			dlg.DoModal();
		}
		else
		{
			AfxMessageBox(_T("你没有该权限,请核对后再来!"), MB_ICONEXCLAMATION);
		}
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;	
}

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

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

		if (bIsManager)
		{
			m_ListCtrl.DestroyWindow();
			CreateAdminInfo();
			
			m_strCurrentList = _T("管理员信息列表");
			m_StaticCtrl.SetWindowText(m_strCurrentList);

		}
		else
		{
			AfxMessageBox(_T("你没有该权限,请核对后再来!"), MB_ICONEXCLAMATION);
		}
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;	

	
}

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

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

		if (bIsManager)
		{
			if ( m_ListCtrl && m_strCurrentList!="管理员信息列表" )	
			{
				m_ListCtrl.DestroyWindow();
				CreateAdminInfo();
			}
			if ( !m_ListCtrl )
			{
				CreateAdminInfo();
			}
			
			// 删除记录
			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 strID;
				_variant_t strHolder, strQuery;

				while (pos)
				{
					iItem = m_ListCtrl.GetNextSelectedItem(pos);
					strID = m_ListCtrl.GetItemText(iItem, 0);
					strQuery = "delete from staff where staff_id='"+strID+"'";
					theApp.ADOExecute(theApp.m_pADOSet, strQuery);
				}
			}

			//刷新列表
			RefreshAdmin();
		}
		else
		{
			AfxMessageBox(_T("没有选中纪录!请核对你是否有该权限"), MB_ICONEXCLAMATION);
		}
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;	
	
}



void CMPhoneQueryView::OnMenuListuserinfo() 
{
	// TODO: Add your command handler code here
	if ( theApp.m_bIsLogin == TRUE)
	{
		m_ListCtrl.DestroyWindow();
		CreateUserInfo();

		m_strCurrentList = _T("用户信息列表");
		m_StaticCtrl.SetWindowText(m_strCurrentList);
	}
	else
	{
		AfxMessageBox(_T("请先登录!"), MB_ICONEXCLAMATION);
	}

	return;		
}


void CMPhoneQueryView::OnMenuAdduserinfo() 

⌨️ 快捷键说明

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