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

📄 dlgvipmanage.cpp

📁 本系统功能主要有两大块组成:前台销售管理功能和后台数据管理功能。 前台销售管理系统,包括:开单
💻 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 + -