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

📄 createaccount.cpp

📁 银行系统的网上用户操作模块.用户可以以网页的形式注册银行帐号,并进行转帐操作.
💻 CPP
字号:
// CreateAccount.cpp : 实现文件
//

#include "stdafx.h"
#include "BankService.h"
#include "CreateAccount.h"
#include ".\createaccount.h"


// CCreateAccount 对话框

IMPLEMENT_DYNAMIC(CCreateAccount, CDialog)
CCreateAccount::CCreateAccount(CWnd* pParent /*=NULL*/)
	: CDialog(CCreateAccount::IDD, pParent)
	, m_pwd(_T(""))
	, m_pwdagain(_T(""))
	, m_money(0)
	, m_name(_T(""))
	, m_id(_T(""))
{
}

CCreateAccount::~CCreateAccount()
{
}

void CCreateAccount::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_PASSWORD, m_pwd);
	DDX_Text(pDX, IDC_PASSWORD_AGAIN, m_pwdagain);
	DDX_Text(pDX, IDC_MONEY, m_money);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_ID_CARD, m_id);
}


BEGIN_MESSAGE_MAP(CCreateAccount, CDialog)
	ON_BN_CLICKED(IDC_CREDIT_CARD, OnBnClickedCreditCard)
	ON_BN_CLICKED(IDC_SAVING_CARD, OnBnClickedSavingCard)
	ON_BN_CLICKED(IDC_OPEN_ACCOUNT, OnBnClickedOpenAccount)
END_MESSAGE_MAP()


// CCreateAccount 消息处理程序

void CCreateAccount::OnBnClickedCreditCard()
{
	// TODO: 在此添加控件通知处理程序代码
	GetDlgItem(IDC_LIVE)->EnableWindow(FALSE);
	GetDlgItem(IDC_DEAD)->EnableWindow(FALSE);
}

void CCreateAccount::OnBnClickedSavingCard()
{
	// TODO: 在此添加控件通知处理程序代码
	GetDlgItem(IDC_LIVE)->EnableWindow(TRUE);
	GetDlgItem(IDC_DEAD)->EnableWindow(TRUE);
}

void CCreateAccount::OnBnClickedOpenAccount()
{
	// TODO: 在此添加控件通知处理程序代码
	
	CString strQuery="SELECT * FROM bankbook";//查询数据库的字符串
	
	//尝试查询
	try{
		pRst=pConn->Execute(_bstr_t(strQuery),NULL,adCmdText);
	}
	catch(_com_error &e)
	{
		MessageBox(e.ErrorMessage()); 
		return ;
	}
	
	UpdateData();//更新各输入变量的值
	
	//看两次密码是否相同,以及开户资金在合理范围(>10 <1000000)才继续,以减轻数据库的负担
	if( m_pwd==m_pwdagain && m_money>10 && m_money<=1000000 )
	{
		try
		{
			pRst.CreateInstance("ADODB.Recordset");

			//这样才能获得Rst的记录数
			pRst->CursorLocation=adUseClient;
			pRst->Open(_bstr_t(strQuery),_variant_t((IDispatch*)pConn,true),adOpenStatic,adLockOptimistic,adCmdText);
			int accnum=pRst->RecordCount;
			m_accnum.Format("%d",accnum);

			//获得当前时间,作为开户时间
			CTime tm=CTime::GetCurrentTime();
			m_date=tm.Format("%Y-%m-%d"); 

			//获得帐号的类型
			int radioindex=this->GetCheckedRadioButton(IDC_CREDIT_CARD,IDC_DEAD);
			switch(radioindex)
			{
			case IDC_LIVE:m_fundtype="live";break;
			case IDC_DEAD:m_fundtype="dead";break;
			case IDC_CREDIT_CARD:m_fundtype="credit card";break;
			default:
				;
			}

			//把所有信息写入数据库
			pRst->AddNew();
			pRst->put_Collect(_variant_t("uname"),_variant_t(m_name));
			pRst->put_Collect(_variant_t("uid"),_variant_t(m_id));
			pRst->put_Collect(_variant_t("password"),_variant_t(m_pwd));
			pRst->put_Collect(_variant_t("amount"),_variant_t(m_money));
			pRst->put_Collect(_variant_t("accnum"),_variant_t(m_accnum));
			pRst->put_Collect(_variant_t("lastmodify"),_variant_t(m_date));
			pRst->put_Collect(_variant_t("fundtype"),_variant_t(m_fundtype));
			pRst->Update();
		}
		catch(_com_error &e)
		{
			MessageBox(e.ErrorMessage()); 
			return ;
		}
		AfxMessageBox("帐号创建成功!");
	}
	else
	{
		if(m_pwd!=m_pwdagain)
			AfxMessageBox("两次密码不相同,请检查输入是否有误");
		
		if(m_money<=10)
            AfxMessageBox("开户资金必须大于10元");

		if(m_money>1000000)
			AfxMessageBox("开户资金过大,请按VIP程序办理");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -