📄 adduserdlg.cpp
字号:
// AddUserDlg.cpp : implementation file
//
#include "stdafx.h"
#include "mphonequery.h"
#include "AddUserDlg.h"
#include "MPhoneQueryView.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAddUserDlg dialog
CAddUserDlg::CAddUserDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAddUserDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAddUserDlg)
m_strFeeType = _T("");
m_strPhoneBalance = _T("");
m_strPhoneNo = _T("");
m_strPhonePswd = _T("");
m_strUserAddr = _T("");
m_strUserNo = _T("");
m_strUserName = _T("");
m_strUserSex = _T("");
//}}AFX_DATA_INIT
}
void CAddUserDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAddUserDlg)
DDX_Text(pDX, IDC_ADD_FEETYPE, m_strFeeType);
DDX_Text(pDX, IDC_ADD_PHONEBALANCE, m_strPhoneBalance);
DDX_Text(pDX, IDC_ADD_PHONENO, m_strPhoneNo);
DDX_Text(pDX, IDC_ADD_PHONEPSWD, m_strPhonePswd);
DDX_Text(pDX, IDC_ADD_USERADDR, m_strUserAddr);
DDX_Text(pDX, IDC_ADD_USERIDNO, m_strUserNo);
DDX_Text(pDX, IDC_ADD_USERNAME, m_strUserName);
DDX_Text(pDX, IDC_ADD_USERSEX, m_strUserSex);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAddUserDlg, CDialog)
//{{AFX_MSG_MAP(CAddUserDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAddUserDlg message handlers
void CAddUserDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
m_strPhoneNo.TrimRight(" ");
m_strPhonePswd.TrimRight(" ");
m_strFeeType.TrimRight(" ");
m_strPhoneBalance.TrimRight(" ");
m_strUserName.TrimRight(" ");
m_strUserSex.TrimRight(" ");
m_strUserNo.TrimRight(" ");
m_strUserAddr.TrimRight(" ");
// 确定所有输入有效
CString strWarning="";
if ( m_strPhoneNo == "" )
{
strWarning=_T("手机号");
}
else if ( m_strPhoneBalance == "" )
{
strWarning=_T("手机余额");
}
else if ( m_strUserName != "" || m_strUserNo != "" || m_strUserSex != "" || m_strUserAddr != "" )
{
if ( m_strUserName == "" )
{
strWarning = _T("用户姓名");
}
else if ( m_strUserNo == "" )
{
strWarning = _T("用户身份证号");
}
else if ( m_strUserSex == "" )
{
strWarning = _T("用户性别");
}
}
if ( ""!=strWarning )
{
strWarning += _T("不能为空");
AfxMessageBox(strWarning, MB_ICONEXCLAMATION);
return;
}
_variant_t strQuery, Holder;
// 添加记录前判断;
if (m_bAppend)
{
// 判断手机号唯一性
strQuery = "select * from phone where \
phone_no = '"+m_strPhoneNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( iCount != 0 )
{
AfxMessageBox(_T("已经存在此手机的记录!"), MB_ICONEXCLAMATION);
return;
}
}
// 添加记录;
if (m_bAppend)
{
strQuery = "select Max(phone_id) as maxphoneid from phone";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("maxphoneid");
int iPhoneId = Holder.vt == VT_NULL ? 1 : Holder.intVal + 1;
char cPhoneId[20];
_itoa( iPhoneId, cPhoneId, 10);
CString strPhoneId = (const char*) cPhoneId;
if ( strPhoneId != "")
{
strQuery = "insert into phone(phone_id, phone_no, password, fee_type, balance) \
values ('"+strPhoneId+"', '"+m_strPhoneNo+"','"+m_strPhonePswd+"', \
'"+m_strFeeType+"', CAST('"+m_strPhoneBalance+"' AS money))";
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
{
// 清空输入数据
m_strPhonePswd = m_strFeeType = m_strPhoneBalance = "";
// 检查是否有手机用户纪录
if ( m_strUserNo != "" )
{
CString strSex;
if ( m_strUserSex == "男")
{
strSex = '1';
}
else if ( m_strUserSex == "女")
{
strSex = '0';
}
// 判断用户的唯一性
strQuery = "select * from customer where ID_no = '"+m_strUserNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet ->GetRecordCount();
if ( iCount == 0 )
{
strQuery = "select Max(cus_id) as maxuserid from customer";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("maxuserid");
int iUserId = Holder.vt == VT_NULL ? 1 : Holder.intVal + 1;
char cUserId[20];
_itoa( iUserId, cUserId, 10);
CString strUserId = (const char*) cUserId;
strQuery = "insert customer (cus_id, cus_name, ID_no, sex, cus_addr) \
values ('"+strUserId+"', '"+m_strUserName+"','"+m_strUserNo+"',\
'"+strSex+"','"+m_strUserAddr+"')";
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
{
strQuery = "Update phone set cus_id = '"+strUserId+"' where phone_no = '"+m_strPhoneNo+"'";
if (theApp.ADOExecute( theApp.m_pADOSet, strQuery ))
{
AfxMessageBox(_T("添加所有记录成功!"), MB_ICONINFORMATION);
m_bIsAppend = TRUE;
// 清空输入数据
m_strPhoneNo = m_strUserNo = m_strUserName = m_strUserSex = m_strUserAddr = "";
UpdateData(false);
}
else
{
AfxMessageBox(_T("添加用户记录失败!请检查并修改该条纪录"), MB_ICONEXCLAMATION);
}
}
else
{
AfxMessageBox(_T("添加用户记录失败!请检查并修改该条纪录"), MB_ICONEXCLAMATION);
}
}
else
{
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("cus_id");
CString strUserId = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
_variant_t strSubQuery;
_RecordsetPtr pADOSubSet;
pADOSubSet.CreateInstance(__uuidof(Recordset));
Holder = theApp.m_pADOSet ->GetCollect("ID_no");
CString strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( m_strUserNo != "" && ( strTest != m_strUserNo || strTest == "" ) )
{
strSubQuery = "Update customer set ID_no = '"+m_strUserNo+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
Holder = theApp.m_pADOSet ->GetCollect("cus_name");
strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( m_strUserName != "" && ( strTest != m_strUserName || strTest == "" ) )
{
strSubQuery = "Update customer set cus_name = '"+m_strUserName+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
Holder = theApp.m_pADOSet ->GetCollect("sex");
strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( strSex != "" && ( strTest != strSex || strTest == "" ) )
{
strSubQuery = "Update customer set sex = '"+strSex+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
Holder = theApp.m_pADOSet ->GetCollect("cus_addr");
strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( m_strUserAddr != "" && ( strTest != m_strUserAddr || strTest == "" ) )
{
strSubQuery = "Update customer set cus_addr = '"+m_strUserAddr+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
strQuery = "Update phone set cus_id = '"+strUserId+"' where phone_no = '"+m_strPhoneNo+"'";
theApp.ADOExecute( theApp.m_pADOSet, strQuery );
AfxMessageBox(_T("添加所有记录成功!"), MB_ICONINFORMATION);
m_strPhoneNo = m_strUserNo = m_strUserName = m_strUserSex = m_strUserAddr = "";
UpdateData(false);
}
}
}
else
{
AfxMessageBox(_T("添加手机记录失败!"), MB_ICONEXCLAMATION);
}
}
else
{
AfxMessageBox(_T("添加手机记录失败!"), MB_ICONEXCLAMATION);
}
}
else //修改记录
{
// 获得手机记录的编号
strQuery = "select phone_id, cus_id from phone where phone_no = '"+m_strPrePhoneNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("phone_id");
CString strPhoneId = (char*)(_bstr_t)Holder;
// 获得可能的用户信息编号
Holder = theApp.m_pADOSet ->GetCollect("cus_id");
CString strUserId = Holder.vt == NULL ? "" : (char*)(_bstr_t)Holder;
// 更改手机信息
strQuery = "Update phone set phone_no = '"+m_strPhoneNo+"', password ='"+m_strPhonePswd+"', \
fee_type = '"+m_strFeeType+"', balance = CAST('"+m_strPhoneBalance+"' AS money) \
where phone_id = '"+strPhoneId+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
//更改用户信息
if ( m_strUserNo != "" )
{
CString strSex;
if ( m_strUserSex == "男")
{
strSex = '1';
}
else if ( m_strUserSex == "女")
{
strSex = '0';
}
// 添加新的用户记录
if ( strUserId == "" )
{
strQuery = "select Max(cus_id) as maxuserid from customer";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("maxuserid");
int iUserId = Holder.vt == VT_NULL ? 1 : Holder.intVal + 1;
char cUserId[20];
_itoa( iUserId, cUserId, 10);
CString strUserId = (const char*) cUserId;
strQuery = "Insert customer (cus_id, cus_name, ID_no, sex, cus_addr) \
values ('"+strUserId+"', '"+m_strUserName+"','"+m_strUserNo+"',\
'"+strSex+"','"+m_strUserAddr+"')";
if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) )
{
strQuery = "Update phone set cus_id = '"+strUserId+"' \
where phone_id = '"+strPhoneId+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
AfxMessageBox(_T("修改记录成功!"), MB_ICONINFORMATION);
m_bIsAppend = TRUE;
}
else
{
AfxMessageBox(_T("修改记录失败!请检查并修改该条纪录"), MB_ICONEXCLAMATION);
}
}
else // 修改用户记录
{
strQuery = "select * from customer where cus_id = '"+strUserId+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("cus_id");
CString strUserId = (char*)(_bstr_t)Holder;
_variant_t strSubQuery;
_RecordsetPtr pADOSubSet;
pADOSubSet.CreateInstance(__uuidof(Recordset));
Holder = theApp.m_pADOSet ->GetCollect("ID_no");
CString strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( m_strUserNo != "" && ( strTest != m_strUserNo || strTest == "" ) )
{
strSubQuery = "Update customer set ID_no = '"+m_strUserNo+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
Holder = theApp.m_pADOSet ->GetCollect("cus_name");
strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( m_strUserName != "" && ( strTest != m_strUserName || strTest == "" ) )
{
strSubQuery = "Update customer set cus_name = '"+m_strUserName+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
Holder = theApp.m_pADOSet ->GetCollect("sex");
strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( strSex != "" && ( strTest != strSex || strTest == "" ) )
{
strSubQuery = "Update customer set sex = '"+strSex+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
Holder = theApp.m_pADOSet ->GetCollect("cus_addr");
strTest = Holder.vt == VT_NULL ? "" : (char*)(_bstr_t)Holder;
if ( m_strUserAddr != "" && ( strTest != m_strUserAddr || strTest == "" ) )
{
strSubQuery = "Update customer set cus_addr = '"+m_strUserAddr+"' where cus_id = '"+strUserId+"'";
theApp.ADOExecute( pADOSubSet, strSubQuery );
}
strQuery = "Update phone set cus_id = '"+strUserId+"' where phone_no = '"+m_strPhoneNo+"'";
theApp.ADOExecute( theApp.m_pADOSet, strQuery );
AfxMessageBox(_T("修改记录成功!"), MB_ICONINFORMATION);
m_bIsAppend = TRUE;
}
}
}
// Refresh RoomType List
CMPhoneQueryView* p = (CMPhoneQueryView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
p->RefreshUser();
if (!m_bAppend && m_bIsAppend)
{
CDialog::OnOK();
}
}
BOOL CAddUserDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//((CEdit*)GetDlgItem(IDC_ADD_PHONENO))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ADD_PHONEPSWD))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ADD_FEETYPE))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ADD_PHONEBALANCE))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ADD_USERNAME))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ADD_USERIDNO))->SetLimitText(50);
((CEdit*)GetDlgItem(IDC_ADD_USERADDR))->SetLimitText(50);
if (m_bAppend)
{
//更新对话框属性
SetWindowText(_T("添加手机用户信息"));
((CComboBox*)GetDlgItem(IDC_ADD_USERSEX))->SetCurSel(0);
}
else
{
// 更新对话框属性
SetWindowText(_T("修改手机用户信息"));
_variant_t strQuery, Holder;
// 获得手机记录的编号
strQuery = "select cus_id from phone where phone_no = '"+m_strPrePhoneNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( iCount != 0 )
{
theApp.m_pADOSet ->MoveFirst();
// 获得可能的用户信息编号
Holder = theApp.m_pADOSet ->GetCollect("cus_id");
CString strUserId = (char*)(_bstr_t)Holder;
// 读取用户信息
strQuery = "select sex from customer where cus_id = '"+strUserId+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
theApp.m_pADOSet ->MoveFirst();
Holder = theApp.m_pADOSet ->GetCollect("sex");
CString strSexCount = (char*)(_bstr_t)Holder;
int iSexCount = atoi(strSexCount);
if (iSexCount == 0)
{
((CComboBox*)GetDlgItem(IDC_ADD_USERSEX)) ->SetCurSel( 2);
}
else if (iSexCount == 1)
{
((CComboBox*)GetDlgItem(IDC_ADD_USERSEX)) ->SetCurSel( 1);
}
else
{
((CComboBox*)GetDlgItem(IDC_ADD_USERSEX)) ->SetCurSel( 0);
}
}
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -