📄 dlgvip.cpp
字号:
// DlgVIP.cpp : implementation file
//
#include "stdafx.h"
#include "Project.h"
#include "DlgVIP.h"
#include "DlgLogin.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgVIP dialog
CDlgVIP::CDlgVIP(CWnd* pParent /*=NULL*/)
: CDialog(CDlgVIP::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgVIP)
m_VIPNo = _T("");
m_VIPID = _T("");
m_VIPAge = 0;
m_VIPName = _T("");
m_VIPTel = _T("");
m_VIPSex = -1;
//}}AFX_DATA_INIT
}
void CDlgVIP::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgVIP)
DDX_Control(pDX, IDC_VIPAdd, m_BtnAdd);
DDX_Control(pDX, IDC_REGVIPLIST, m_RegVIPList);
DDX_Text(pDX, IDC_VIPID, m_VIPID);
DDX_Text(pDX, IDC_VIPAGE, m_VIPAge);
DDX_Text(pDX, IDC_VIPNAME, m_VIPName);
DDX_Text(pDX, IDC_VIPTEL , m_VIPTel);
DDX_Text(pDX, IDC_VIPREGID, m_VIPNo);
DDX_CBIndex(pDX, IDC_VIPSex, m_VIPSex);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgVIP, CDialog)
//{{AFX_MSG_MAP(CDlgVIP)
ON_NOTIFY(NM_RCLICK, IDC_REGVIPLIST, OnRclickRegviplist)
ON_BN_CLICKED(IDC_VIPAdd, OnAddVIP)
ON_BN_CLICKED(ID_VIPDelete, OnVIPDelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgVIP message handlers
BOOL CDlgVIP::OnInitDialog()
{
CDialog::OnInitDialog();
try
{ //连接数据源
CDlgLogin dlgLogin;
_bstr_t Conn = "DSN="+_bstr_t(dlgLogin.m_LoginDSN)+";";
pConn.CreateInstance(__uuidof(Connection));
HRESULT hr=pConn->Open(Conn,_bstr_t(""),_bstr_t(""),adModeUnknown); //
}
catch(_com_error& ex)
{
AfxMessageBox(ex.Description());
}
//初始化列表项
m_RegVIPList.SetTextColor(RGB (0, 0, 0));
m_RegVIPList.SetBkColor(RGB(255,255,255));
m_RegVIPList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
m_RegVIPList.InsertColumn(0,_T("会员代号"),LVCFMT_CENTER,80);
m_RegVIPList.InsertColumn(1,_T("姓名"),LVCFMT_CENTER,80);
m_RegVIPList.InsertColumn(2,_T("性别"),LVCFMT_CENTER,60);
m_RegVIPList.InsertColumn(3,_T("年龄"),LVCFMT_CENTER,60);
m_RegVIPList.InsertColumn(4,_T("身份证"),LVCFMT_CENTER,100);
m_RegVIPList.InsertColumn(6,_T("电话"),LVCFMT_CENTER,100);
OnRefreshData(); //刷新列表项
return TRUE;
}
//======添加VIP==========================
void CDlgVIP::OnAddVIP()
{
UpdateData(TRUE);
if(m_VIPSex=0) sVIPSex = "M";
if(m_VIPSex=1) sVIPSex = "W";
if(m_VIPNo=="") AfxMessageBox("会员代号必填!");
else if(m_VIPName=="") AfxMessageBox("姓名必填!");
else if(m_VIPAge<1||m_VIPAge>100) AfxMessageBox("年龄出错!");
else if(m_VIPID=="") AfxMessageBox("身份证号码必填!");
{
CString sql;
sql.Format("insert into TableVIP values(\'%s\',\'%s\',\'%s\',\'%i\',\'%s\',\'%s\')",
m_VIPNo,m_VIPName,sVIPSex,m_VIPAge,m_VIPID,m_VIPTel);
try
{
pConn->Execute(_bstr_t(sql),NULL,adCmdText);
}
catch(_com_error& e)
{
AfxMessageBox(e.Description());
return;
}
}
m_VIPNo =m_VIPName =m_VIPID=m_VIPTel=""; //控件复位
m_VIPSex=m_VIPAge=0;
UpdateData(FALSE);
OnRefreshData(); //刷新列表数据
}
//===刷新列表数据========================================
void CDlgVIP::OnRefreshData()
{
m_RegVIPList.DeleteAllItems();
_variant_t vt;
try
{
_RecordsetPtr pRst = pConn->Execute("select * from TableVIP",&vt,adCmdText);
while(!pRst->End)
{
_variant_t vVIPNO = pRst->Fields->GetItem("VIPNo")->Value;
_variant_t vVIPName= pRst->Fields->GetItem(long(1))->Value;
_variant_t vVIPSex = pRst->Fields->GetItem(long(2))->Value;
_variant_t vVIPAge = pRst->Fields->GetItem(long(3))->Value;
_variant_t vVIPID = pRst->Fields->GetItem(long(4))->Value;
_variant_t vVIPTel = pRst->Fields->GetItem(long(5))->Value;
m_VIPNo = vVIPNO.bstrVal; //取记录各字段值
m_VIPName = vVIPName.bstrVal;
m_VIPSex = vVIPSex.iVal;
m_VIPAge = vVIPAge.iVal;
m_VIPID = vVIPID.bstrVal;
m_VIPTel = vVIPTel.bstrVal;
CString strSex,strAge;
if(m_VIPSex==0) strSex = "男";
else strSex = "女";
strAge.Format("%d",m_VIPAge);
m_RegVIPList.InsertItem(0,m_VIPNo); //填入列表项
m_RegVIPList.SetItemText(0,1,m_VIPName);
m_RegVIPList.SetItemText(0,2,strSex);
m_RegVIPList.SetItemText(0,3,strAge);
m_RegVIPList.SetItemText(0,4,m_VIPID);
m_RegVIPList.SetItemText(0,5,m_VIPTel);
pRst->MoveNext();
}
pRst->Close();
pRst.Release();
}
catch(_com_error& e)
{
AfxMessageBox(e.Description());
}
}
void CDlgVIP::OnRclickRegviplist(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
}
//===删除VIP==========================================
void CDlgVIP::OnVIPDelete()
{
int sel = m_RegVIPList.GetSelectionMark();
CString str;
str = m_RegVIPList.GetItemText(sel,0); //获取选中的列表行的值
CString sql;
sql.Format("DELETE FROM TableVIP WHERE VIPNo = \'%s\'",str); //拼写SQL字串
try
{
pConn->Execute(_bstr_t(sql),NULL,adCmdText); //执行删除
m_RegVIPList.DeleteItem(sel);
}
catch(_com_error& e)
{
AfxMessageBox(e.Description());
}
OnRefreshData();
}
void CDlgVIP::OnCancel()
{
pConn.Release();
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -