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

📄 setpaymodedlg.cpp

📁 该源码的前台用C++编写
💻 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 + -