📄 electricview.cpp
字号:
// ElectricView.cpp : implementation of the CElectricView class
//
#include "stdafx.h"
#include "Electric.h"
#include "ElectricDoc.h"
#include "ElectricView.h"
#include "UserDlg.h"
#include "afxdb.h"
#include "AdminDlg.h"
#include "UserManage.h"
#include "AddUser.h"
#include "FeeChoiceDlg.h"
#include "RingDlg.h"
#include "MyEHomeDlg.h"
#include "NetDlg.h"
#include "InfoDetailDlg.h"
#include "ChangePWDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CElectricView
IMPLEMENT_DYNCREATE(CElectricView, CView)
BEGIN_MESSAGE_MAP(CElectricView, CView)
//{{AFX_MSG_MAP(CElectricView)
ON_COMMAND(ID_USER_LOGON, OnUserLogon)
ON_COMMAND(ID_ADMIN_LOGON, OnAdminLogon)
ON_UPDATE_COMMAND_UI(ID_ADSL_NET, OnUpdateAdslNet)
ON_UPDATE_COMMAND_UI(ID_FEE, OnUpdateFee)
ON_UPDATE_COMMAND_UI(ID_FUND_LUNGE, OnUpdateFundLunge)
ON_UPDATE_COMMAND_UI(ID_MY_EHOME, OnUpdateMyEhome)
ON_UPDATE_COMMAND_UI(ID_RING, OnUpdateRing)
ON_UPDATE_COMMAND_UI(ID_PW_CHANGE, OnUpdatePwChange)
ON_UPDATE_COMMAND_UI(ID_MANAGE_USER_INFORMATION, OnUpdateManageUserInformation)
ON_COMMAND(ID_EXITS, OnExits)
ON_COMMAND(ID_MANAGE_USER_INFORMATION, OnManageUserInformation)
ON_COMMAND(ID_DEVELOP_LOGON, OnDevelopLogon)
ON_BN_CLICKED(IDC_ADD_USER_DETAIL, OnAddUserDetail)
ON_COMMAND(ID_USER_INFORMATION_DETAIL, OnUserInformationDetail)
ON_COMMAND(ID_FEE, OnFee)
ON_COMMAND(ID_FUND_LUNGE, OnFundLunge)
ON_COMMAND(ID_RING, OnRing)
ON_COMMAND(ID_MY_EHOME, OnMyEhome)
ON_COMMAND(ID_ADSL_NET, OnAdslNet)
ON_UPDATE_COMMAND_UI(ID_USER_LOGON, OnUpdateUserLogon)
ON_UPDATE_COMMAND_UI(ID_ADMIN_LOGON, OnUpdateAdminLogon)
ON_COMMAND(ID_PW_CHANGE, OnPwChange)
ON_UPDATE_COMMAND_UI(ID_DEVELOP_LOGON, OnUpdateDevelopLogon)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CElectricView construction/destruction
CElectricView::CElectricView()
{
// TODO: add construction code here
}
CElectricView::~CElectricView()
{
}
BOOL CElectricView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CElectricView drawing
void CElectricView::OnDraw(CDC* pDC)
{
CElectricDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CElectricView printing
BOOL CElectricView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CElectricView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CElectricView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CElectricView diagnostics
#ifdef _DEBUG
void CElectricView::AssertValid() const
{
CView::AssertValid();
}
void CElectricView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CElectricDoc* CElectricView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CElectricDoc)));
return (CElectricDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CElectricView message handlers
void CElectricView::OnUserLogon()
{
// TODO: Add your command handler code here
CUserDlg userDlg;
if(userDlg.DoModal() == IDOK)
{
//put the record into s
CDBVariant s1,s2;
//strTemp is for the record to string.
CString strPhoneNo,strPhonePW;
// TRY
// {
m_database.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
CRecordset *rs = new CRecordset(&m_database);
rs->Open(CRecordset::snapshot,"select * from user",CRecordset::readOnly);
while(!rs->IsEOF())
{
//get the phoneNo.
rs->GetFieldValue(short(1),s1);
if(s1.m_dwType == DBVT_STRING)
strPhoneNo = *s1.m_pstring;
//get the phonePW
rs->GetFieldValue(short(2),s2);
if(s2.m_dwType == DBVT_STRING)
strPhonePW = *s2.m_pstring;
//ajust if hv the right phoneNo and phonePW
if(userDlg.m_logUserPhoneNo==strPhoneNo && userDlg.m_logUserPW==strPhonePW)
{
m_fUserType = 0; //0 mean common user ,1 mean admin.
rs->Close();
m_database.Close();
m_logonUserNO = strPhoneNo;
m_logonPW = strPhonePW;
break;
}
rs->MoveNext();
// }
// }CATCH(CDBException, e)
// {
// AfxMessageBox("请输入匹配的手机号和密码! ");
// }
}
if(m_fUserType != 0)MessageBox("请输入匹配的手机号和密码!");
}
//DEL CRecordset CElectricView::ConnectToDB()
//DEL {
//DEL CDatabase db;
//DEL db.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
//DEL CRecordset *pRes = new CRecordset(&db);
//DEL pRes->Open(CRecordset::snapshot,"select * from user",CRecordset::readOnly);
//DEL
//DEL CDBVariant s;
//DEL CString strTemp;
//DEL if(!pRes->IsEOF()){
//DEL pRes->GetFieldValue(short(0),s);
//DEL if(s.m_dwType == DBVT_STRING)
//DEL strTemp = *s.m_pstring;
//DEL CString str;
//DEL str.Format("phoneNo:%s",strTemp);
//DEL MessageBox(str);
//DEL }
//DEL else
//DEL MessageBox("无记录!!");
//DEL
//DEL }
//DEL CRecordset CElectricView::ConnectToDB(CString sql)
//DEL {
//DEL m_database.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
//DEL }
//void CElectricView::ConnectToDB()
//{
// m_database.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
//}
}
void CElectricView::OnAdminLogon()
{
// TODO: Add your command handler code here
CAdminDlg adminDlg;
if(adminDlg.DoModal()== IDOK)
{
if(adminDlg.m_adminAccount == "admin" && adminDlg.m_adminPW == "admin")
{
m_fUserType = 1;
}
else
MessageBox("你没有这个权限");
}
}
void CElectricView::OnUpdateAdslNet(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable();
else
pCmdUI->Enable(FALSE);
}
void CElectricView::OnUpdateFee(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable();
else
pCmdUI->Enable(FALSE);
}
void CElectricView::OnUpdateFundLunge(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable();
else
pCmdUI->Enable(FALSE);
}
void CElectricView::OnUpdateMyEhome(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable();
else
pCmdUI->Enable(FALSE);
}
void CElectricView::OnUpdateRing(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable();
else
pCmdUI->Enable(FALSE);
}
void CElectricView::OnUpdatePwChange(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable();
else
{
pCmdUI->Enable(FALSE);
}
}
void CElectricView::OnUpdateManageUserInformation(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(m_fUserType == 1 || m_fUserType == 2)
pCmdUI->Enable();
else
pCmdUI->Enable(FALSE);
}
void CElectricView::OnExits()
{
// TODO: Add your command handler code here
exit(0);
}
void CElectricView::OnManageUserInformation()
{
// TODO: Add your command handler code here
CUserManage userManage;
userManage.DoModal();
}
void CElectricView::OnDevelopLogon()
{
// TODO: Add your command handler code here
m_fUserType = 2;
}
void CElectricView::OnAddUserDetail()
{
}
void CElectricView::OnUserInformationDetail()
{
CInfoDetailDlg infoDlg;
infoDlg.DoModal();
}
void CElectricView::OnFee()
{
}
void CElectricView::OnFundLunge()
{
CFeeChoiceDlg feeDlg;
CString fundLunge = "";
CString sql;
CDatabase db;
if(feeDlg.DoModal()==IDOK)
{
switch(feeDlg.m_twentySix)
{
case 0: fundLunge = "26";break;
case 1: fundLunge = "36";break;
case 2: fundLunge = "56";break;
}
sql.Format("UPDATE user SET fundLunge = '%s' WHERE phoneNo = '%s'",fundLunge,m_logonUserNO);
db.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
db.ExecuteSQL(sql);
MessageBox("添加成功~");
}
}
void CElectricView::OnRing()
{
CRingDlg ringDlg;
CString ring = "";
CString sql;
CDatabase db;
if(ringDlg.DoModal()==IDOK)
{
switch(ringDlg.m_ringChoice)
{
case 0: ring = "开通";break;
case 1: ring = "取消业务";break;
}
sql.Format("UPDATE user SET ringBussie = '%s' WHERE phoneNo = '%s'",ring,m_logonUserNO);
db.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
db.ExecuteSQL(sql);
MessageBox("添加成功~");
}
}
void CElectricView::OnMyEhome()
{
CMyEHomeDlg eHomeDlg;
CString eHome = "";
CString sql;
CDatabase db;
if(eHomeDlg.DoModal()==IDOK)
{
switch(eHomeDlg.m_eHome)
{
case 0: eHome = "开通";break;
case 1: eHome = "取消业务";break;
}
sql.Format("UPDATE user SET myEHome = '%s' WHERE phoneNo = '%s'",eHome,m_logonUserNO);
db.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
db.ExecuteSQL(sql);
MessageBox("添加成功~");
}
}
void CElectricView::OnAdslNet()
{
CNetDlg netDlg;
CString net = "";
CString sql;
CDatabase db;
if(netDlg.DoModal()==IDOK)
{
switch(netDlg.m_net)
{
case 0: net = "开通";break;
case 1: net = "取消业务";break;
}
sql.Format("UPDATE user SET ADNet = '%s' WHERE phoneNo = '%s'",net,m_logonUserNO);
db.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
db.ExecuteSQL(sql);
MessageBox("添加成功~");
}
}
void CElectricView::OnUpdateUserLogon(CCmdUI* pCmdUI)
{
if(m_fUserType == 1 || m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable(FALSE);
else
pCmdUI->Enable();
}
void CElectricView::OnUpdateAdminLogon(CCmdUI* pCmdUI)
{
if(m_fUserType == 1 || m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable(FALSE);
else
pCmdUI->Enable();
}
void CElectricView::OnPwChange()
{
CChangePWDlg changePWDlg;
CDatabase db;
CString sql;
if(changePWDlg.DoModal() ==IDOK )
{
if(changePWDlg.m_oldPW == m_logonPW)
{
if(changePWDlg.m_newPW == changePWDlg.m_newPWConfirm)
{
sql.Format("UPDATE user SET phonePassword = '%s' WHERE phoneNo = '%s'",changePWDlg.m_newPW,m_logonUserNO);
db.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=ephone.mdb;");
db.ExecuteSQL(sql);
MessageBox("修改成功~");
db.Close();
}
else
{
MessageBox("新密码确认失败!");
}
}else{
MessageBox("请确认旧密码是正确的!");
}
}
}
void CElectricView::OnUpdateDevelopLogon(CCmdUI* pCmdUI)
{
if(m_fUserType == 1 || m_fUserType == 0 || m_fUserType == 2)
pCmdUI->Enable(FALSE);
else
pCmdUI->Enable();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -