📄 setpaymodedlg.cpp
字号:
// SetPaymodeDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MenuManage.h"
#include "SetPaymodeDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CMenuManageApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CSetPaymodeDlg dialog
CSetPaymodeDlg::CSetPaymodeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSetPaymodeDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSetPaymodeDlg)
m_strPaymode = _T("");
//}}AFX_DATA_INIT
}
void CSetPaymodeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSetPaymodeDlg)
DDX_Control(pDX, IDC_EDIT_PAYMODE, m_editPaymode);
DDX_Control(pDX, IDO_SURE, m_btnSure);
DDX_Control(pDX, IDC_STATIC_INPUT_PAYMODE, m_sInputPaymode);
DDX_Control(pDX, IDC_DATAGRID_PAYMODE, m_dbPaymode);
DDX_Text(pDX, IDC_EDIT_PAYMODE, m_strPaymode);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSetPaymodeDlg, CDialog)
//{{AFX_MSG_MAP(CSetPaymodeDlg)
ON_BN_CLICKED(IDC_PAYMODE_ADD_BTN, OnPaymodeAddBtn)
ON_BN_CLICKED(IDC_PAYMODE_DEL_BTN, OnPaymodeDelBtn)
ON_BN_CLICKED(IDO_SURE, OnSure)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSetPaymodeDlg message handlers
BOOL CSetPaymodeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_bAdd = FALSE;
m_bDelete = FALSE;
m_sInputPaymode.ShowWindow(SW_HIDE);
m_editPaymode.ShowWindow(SW_HIDE);
m_btnSure.ShowWindow(SW_HIDE);
CString sql="select * from PayModeInfo order by ID";
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
CString temp;
temp.Format("读取付款方式出错:%s",e.ErrorMessage());
AfxMessageBox(temp);
}
m_dbPaymode.SetRefDataSource(NULL);
m_dbPaymode.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_dbPaymode.SetColumnHeaders(2) ;
m_dbPaymode.Refresh();
// m_pRecordset->Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSetPaymodeDlg::OnPaymodeAddBtn()
{
// TODO: Add your control notification handler code here
m_sInputPaymode.ShowWindow(SW_SHOW);
m_editPaymode.ShowWindow(SW_SHOW);
m_btnSure.ShowWindow(SW_SHOW);
m_bAdd = TRUE;
m_bDelete = FALSE;
}
void CSetPaymodeDlg::OnPaymodeDelBtn()
{
// TODO: Add your control notification handler code here
m_sInputPaymode.ShowWindow(SW_SHOW);
m_editPaymode.ShowWindow(SW_SHOW);
m_btnSure.ShowWindow(SW_SHOW);
m_bDelete = TRUE;
m_bAdd = FALSE;
}
void CSetPaymodeDlg::OnSure()
{
// TODO: Add your control notification handler code here
bool flag=false;
UpdateData(TRUE);
if(m_bAdd == TRUE )
{
m_pRecordset->MoveLast();
int temp = m_pRecordset->GetCollect("ID").lVal;
m_pRecordset->AddNew();
m_pRecordset->PutCollect("NAME",_variant_t(m_strPaymode));
CString str;
str.Format("%d",temp+1);
m_pRecordset->PutCollect("ID",_variant_t(str));
m_dbPaymode.SetRefDataSource(NULL);
m_dbPaymode.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_dbPaymode.SetColumnHeaders(2) ;
m_dbPaymode.Refresh();
m_pRecordset->Update();
m_bAdd = FALSE;
}
if(m_bDelete == TRUE)
{
CString str;
int newid;
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
str=m_pRecordset->GetCollect("Name").bstrVal;
if(str.CompareNoCase(m_strPaymode) == 0)
{
flag = TRUE;
newid = m_pRecordset->GetCollect("ID").lVal;//获取到删除的id
m_pRecordset->Delete(adAffectCurrent);//默认第一条记录,此时为指向的记录
m_pRecordset->Update();
break;
}
else
m_pRecordset->MoveNext();
}
if (!flag)
{
MessageBox("您删除的付款方式不存在,请查对后再作相应操作 ","删除失败",MB_OK);
}
/*newid-=1;
while(!m_pRecordset->adoEOF)
{
newid +=1;
str.Format("%d",newid);
m_pRecordset->PutCollect("ID",_variant_t(str));//后续的id前进一位
m_pRecordset->MoveNext();
}
m_dbPaymode.SetRefDataSource(NULL);
m_dbPaymode.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_dbPaymode.SetColumnHeaders(2) ;
*/
m_dbPaymode.Refresh();
m_bDelete = FALSE;
}
m_sInputPaymode.ShowWindow(SW_HIDE);
m_editPaymode.ShowWindow(SW_HIDE);
m_btnSure.ShowWindow(SW_HIDE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -