📄 dlgvipmanage.cpp
字号:
// DlgVipmanage.cpp : implementation file
//
#include "stdafx.h"
#include "Lhj_cyglxt.h"
#include "DlgVipmanage.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgVipmanage dialog
extern CDatabase m_db;
CString oldcardid;
CDlgVipmanage::CDlgVipmanage(CWnd* pParent /*=NULL*/)
: CDialog(CDlgVipmanage::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgVipmanage)
m_name = _T("");
m_phone = _T("");
m_jifen = _T("");
m_id = _T("");
m_cardid = _T("");
m_age = _T("");
m_address = _T("");
m_sex = _T("");
m_jointime = _T("");
//}}AFX_DATA_INIT
}
void CDlgVipmanage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgVipmanage)
DDX_Control(pDX, IDC_COMBO_sex, m_osex);
DDX_Control(pDX, IDC_LIST_showcardid, m_oshowcardlist);
DDX_Text(pDX, IDC_EDIT_vipname, m_name);
DDV_MaxChars(pDX, m_name, 8);
DDX_Text(pDX, IDC_EDIT_phone, m_phone);
DDV_MaxChars(pDX, m_phone, 11);
DDX_Text(pDX, IDC_EDIT_integral, m_jifen);
DDV_MaxChars(pDX, m_jifen, 4);
DDX_Text(pDX, IDC_EDIT_id, m_id);
DDV_MaxChars(pDX, m_id, 18);
DDX_Text(pDX, IDC_EDIT_card_id, m_cardid);
DDV_MaxChars(pDX, m_cardid, 8);
DDX_Text(pDX, IDC_EDIT_age, m_age);
DDV_MaxChars(pDX, m_age, 3);
DDX_Text(pDX, IDC_EDIT_address, m_address);
DDV_MaxChars(pDX, m_address, 20);
DDX_CBString(pDX, IDC_COMBO_sex, m_sex);
DDX_Text(pDX, IDC_EDIT_jointime, m_jointime);
DDV_MaxChars(pDX, m_jointime, 20);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgVipmanage, CDialog)
//{{AFX_MSG_MAP(CDlgVipmanage)
ON_LBN_SELCHANGE(IDC_LIST_showcardid, OnSelchangeLISTshowcardid)
ON_BN_CLICKED(IDC_BUTTON_deletevip, OnBUTTONdeletevip)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgVipmanage message handlers
BOOL CDlgVipmanage::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
if(!UpdateData())
return 0;
if(!m_db.IsOpen())
{
MessageBox("数据库未打开");
return 0;
}
TRY
{
CardIdAddToList();
m_osex.AddString("男");
m_osex.AddString("女");
}
CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgVipmanage::CardIdAddToList()
{
m_oshowcardlist.ResetContent();
CRecordset rs(&m_db);
CString sql="select vip_card from vip_infor ";
rs.Open(CRecordset::dynaset, sql);
CString idlist;
while (!rs.IsEOF())
{
rs.GetFieldValue((short)0,idlist);
m_oshowcardlist.AddString(idlist);
rs.MoveNext();
}
rs.Close();
}
void CDlgVipmanage::OnSelchangeLISTshowcardid()
{
// TODO: Add your control notification handler code here
CString stemp,sql;
int iOption;
iOption = m_oshowcardlist.GetCurSel();
m_oshowcardlist.GetText(iOption, stemp);//得到选中项的文本
sql="select vip_card,vip_name,vip_id,vip_phone,vip_sex,vip_age,vip_jointime,vip_address,vip_integral from vip_infor where vip_card='"+stemp+"'";
TRY
{
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset, sql);
if(!rs.IsEOF())
{
rs.GetFieldValue((short)0,m_cardid);
rs.GetFieldValue((short)1,m_name);
rs.GetFieldValue((short)2,m_id);
rs.GetFieldValue((short)3,m_phone);
rs.GetFieldValue((short)4,m_sex);
rs.GetFieldValue((short)5,m_age);
rs.GetFieldValue((short)6,m_jointime);
rs.GetFieldValue((short)7,m_address);
CDBVariant var;int itemp;
rs.GetFieldValue((short)8, var, SQL_C_SLONG);
if (var.m_dwType != DBVT_NULL)
itemp= var.m_lVal;
var.Clear();
m_jifen.Format("%d",itemp);
}
oldcardid=m_cardid;
UpdateData(FALSE);
}
CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
UpdateData(FALSE);
}
void CDlgVipmanage::OnOK()
{
// TODO: Add extra validation here
UpdateData();
TRY
{
//检查数据完整性
if(m_cardid.IsEmpty()||m_name.IsEmpty()||m_id.IsEmpty()||m_sex.IsEmpty()||m_phone.IsEmpty())
{
AfxMessageBox("请填写完整!会员卡号,姓名,身份证号,联系电话,性别 都不能为空");
return;
}
if(AfxMessageBox("保存修改吗?",MB_YESNO)==IDNO)
{
return;
}
CRecordset rs(&m_db);
CString sql;
sql="update vip_infor set vip_card='"+m_cardid+"',vip_name='"+m_name+"',vip_id='"+m_id+"',vip_phone='"+m_phone+"',vip_sex='"+m_sex+"',vip_age='"+m_age+"',vip_jointime='"+m_jointime+"',vip_address='"+m_address+"',vip_integral='"+m_jifen+"'where vip_card='"+oldcardid+"' ";
TRACE(sql);
m_db.ExecuteSQL(sql);
AfxMessageBox("修改成功");
CardIdAddToList();//刷新list 万一cardid 被改
UpdateData(FALSE);
}
CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
UpdateData(FALSE);
//CDialog::OnOK();
}
void CDlgVipmanage::OnBUTTONdeletevip()
{
// TODO: Add your control notification handler code here
UpdateData();
TRY
{
if(AfxMessageBox("确定删除吗?",MB_YESNO)==IDNO)
{
return;
}
CRecordset rs(&m_db);
CString sql;
sql="select vip_card from vip_infor where vip_card='"+m_cardid+"'";
rs.Open(CRecordset::dynaset, sql);
if(rs.IsEOF())
{
AfxMessageBox("该会员卡号不存在,无需删除资料");
rs.Close();
return;
}
rs.Close();
sql="delete vip_infor where vip_card='"+m_cardid+"' ";
TRACE(sql);
m_db.ExecuteSQL(sql);
AfxMessageBox("删除成功");
CardIdAddToList();
UpdateData(FALSE);
}
CATCH(CDBException,ex)
{
AfxMessageBox (ex->m_strError);
AfxMessageBox (ex->m_strStateNativeOrigin);
}
AND_CATCH(CMemoryException,pEx)
{
pEx->ReportError();
AfxMessageBox ("memory exception");
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox (szError);
}
END_CATCH
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -