还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要银行管理系统在无论在网络上,还是各种管理系统软件的资料上都有讲解,而且均非常详细,其难度也可想而知这次课程设计时间紧迫,另外作者本身能力也十分有限,只能完成银行管理系统中的少量功能,所以该系统还有很多有待扩充及完善的地方,有不妥善的地方还请老师指点(这些应出现在总结,在此应简要说明选题的目的及意义)这次课程设计只是到达训练、牢固知识的目的,熟悉数据库的前台和后台编程、VC++的控件、如何访问数据库等方面的知识,所以实现的功能也很有限,待以后随着知识的积累,慢慢地扩充完善该系统本系统采用了、以SQL Sever为后台数据库并以CRecordSet类访问数据库信息的管理系统,该系统能够完成用户帐号的建立、用户存取款、数据备份与恢复等根本功能关键字SQL数据库、SQL语言、VC++、银行管理系统MessageBox〃用户账户中仍存有定期账目,无法销户!〃;return;recordset.Delete;recordset.Requery;recordset.Close;MessageBox〃用户账户删除成功!〃;elserecordset.Close;return;完成“退出系统〃的功能在CMainFrame类中添加菜单的消息响应函数void CMainFrame::0nExit if MessageBox〃确定退出该系统?〃,〃提示〃,MB_YESN0==IDYES PostQuitMessage1;return;完成“查询账户信息”的功能:Account Information活期存取款余额
0.00确定---------------------------------------------------d定期存款记录表I帐户账号123456开户人存款人PJ开户地址开户日期因sifkdodid12009-6-20C0dkdk
78524.
007632.532009Jun2732012Jun27ID控件类型成员变量说明IDC DATETIMEPICKER1CTime mtmDate开户日期IDC_EDIT1CString m_strNo帐号IDC_EDIT2CString m_strName姓名IDC_EDIT3CString mstrAddress开户地址IDC_EDIT4CString mstrBalance帐户余额IDC_LIST1CListCtrl m_ctrList列表控件IDOK“确定〃按钮1添加初始化对话框OnlnitDialogO响应函数,初始化对话框信息;2为CAccountlnfo类添加void型的成员函数RefreshList,初始化列表信息目录1绪论
1.2设计内容用户管理模块建立新用户、删除老用户、更改用户操作;账户操作模块账户信息、活期存取款操作、查询活期操作记录、定期存款、定期取款、查询定期操作记录;数据库模块数据库备份、数据库恢复;2需求分析
2.1功能需求对于用户局部,能够新建和删除用户,在操作过程中可以更改用户;对于账户局部,可以查询用户的信息,包括各种根本信息、活期余额、定期账单等;对于账户操作局部,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能
2.2数据需求账户信息帐号varchar20,开户人姓名varchar20,账户密码char6,身分证号varchar20,账户余额float,开户日期datetime,开户地址varchar30;活期操作帐号varchar20,金额float,类型存入,支出,账户余额float,利息float,存入日期datetime;定期存款:帐号varchar20,存款人姓名varhcar10,存款金额float,存款日期datetime,存储年份int,存储利率float;定期取款帐号varchar20,取款人姓名varhcar10,取款金额float,取款日期datetime;定期历史操作记录帐号varchar20,存取款人姓名varhcar10,类型存入,支出,办理日期datetime,存储年份int,存储利率float;
2.3其它需求完成数据库的备份与恢复,系统登录对话框等功能
3.数据库设计银行管理系统E-R图
3.2逻辑结构设计储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址);活期存取款(辿,帐号,金额,类型,办理日期,利息,账户余额);定期存款(辿,帐号,存款人姓名,金额,存储年份,年利率,存储日期);定期取款(nil),帐号,取款人姓名,取款金额,取款日期);定期记录(辿,帐号,存取款人姓名,类型,操作金额,年份,操作日期)
3.3物理结构设计储户表序号字段名称字段描述数据类型长度属性1CNo帐号Varchar20PK2CName开户人姓名Varhcar20非空3CPassword Char6登录密码非空4CID身份证号Varchar20非空5CSex性别Char2非空6CBalance Float8帐户余额非空7CDate Datetime8开户日期非空8CAddress Varchar30开户地址非空主键帐号;约束条件各属性均非空,密码长度为6位;活期存取款表序号字段名称字段描述数据类型长度属性1nil序号Int4PK2CNo帐号Varchar20非空3CMoney操作金额Float非空84操作类型Varchar10非空CStyle5CDate Datetime8操作日期非空6CInterest利息Float8非空78CBalance帐户余额Float非空主键nID;外键帐号;被参照表储户表约束条件各属性均非空;定期存款表序号字段名称字段描述数据类型长度属性nil序号Int4PK12CNo帐号Varchar20非空CName Varchar103存款人姓名非空4CMoney存款金额Float8非空5CDate存款日期Datetime8非空6CYear存储年份Int4非空7CRate存储利率Float8非空主键nID;外键帐号;被参照表储户表约束条件各属性均非空;定期取款表序号字段名称字段描述数据类型长度属性1nil序号Int4PK2CNo帐号Varchar20非空3CName取款人姓名Varchar10非空4CMoney取款金额Float8非空5CDate Datetime8取款日期非空主键nID;外键nID;被参照表定期存款表约束条件各属性非空定期操作记录表序号字段名称字段描述数据类型长度属性1nID序号1nt4PK2CNo帐号Varchar20非空3CName Float8存取款人姓名非空4CStyle操作类型Char4非空5CMoney存取款金额float8非空CYear Int46存储年份非空7CDate存取款日期Datetime8非空主键nil;外键nil;被参照表定期存款表,定期取款表约束条件各属性非空图4-1银行管理系统功能结构图
5.系统实现
5.1系统开发环境操作系统Window XP硬件Pentiun4DDR512MB120G硬盘主要功能的运行结果及代码数据库创立过程及其连接
1.进入企业管理器窗口,选择“新建SQL Sever注册〃;
2.选中“数据库〃文件夹,单击鼠标右键,选择“新建数据库〃,输入数据库名Bank;
3.单击“确定〃按钮,关闭对话框,数据库创立成功完成“账户登录”的窗口ID控件类型成员变量说明IDC_EDIT1CString mstrNo用户帐号IDC_EDIT1CEdit mctrNoIDC_EDIT2CString m_strPassword登录密码IDC_EDIT2CEdit mctrPasswordIDC_EDIT3CString mstrRePassword确认密码IDC_EDIT3CEdit mctrRePasswordIDOK“0K〃按钮IDCANCLE“Cancle”按钮1添加记录集类CAccountSet类,基类为CRecordSet,数据表为account表;2在CLoginDlg类中添加CAccontSet类的成员变量m_recordset;3为“CBankApp”类添加为CString型的成员变量strNO;4ID0K控件的消息响应函数void CLoginDlg::0n0K UpdateDataTRUE;if m_strNo==〃〃MessageBox Please Input theAccount Number!,z;m ctrNo.SetFocus;return;if m_strPassword=〃〃MessageBoxPlease Inputthe Password!z,;m ctrPassword.SetFocus;return;if mstrRePassword==〃〃{MessageBoxz,PleaseInputthe ConfirmPassword!,z;m ctrRePassword.SetFocus;return;if m_strPassword!=m_strRePasswordMessageBoxz,Two PasswordsAre Differed!z/;m_strPassword二〃〃;m_strRePassword二〃〃;UpdateDataFALSE;m_ctrPassword.SetFocus;return;CString strSQL;strSQL.Format,zselect*from Accountwhere CNo=%s〃,m strNo;if!m_recordset.OpenAFX_DB_USE_DEFAULT_TYPE,strSQLMessageBox Open Database Filed!〃,“Database Error”,MB_0K;return;if m recordset.m CPassword!=m strPasswordMessageBoxPasswordError!Please Rewrite!,;m_recordset.Close;m_strPassword=〃〃;mstrRePassword=〃〃;UpdateDataFALSE;m ctrPassword.SetFocus;return;CBankApp*ptheApp二CBankApp*AfxGetApp;ptheApp-strNo=m strNo;CDialog::OnOK;5在“CBankApp类中的Ini在nstance〃函数中添加登录对话框的对象:CLoginDlg dig;if dig.DoModal!=IDOK returnFALSE;完成“创立新帐户〃的窗口ID控件类型成员变量说明IDC_COMBO1CComboBox mctrSex性别IDC_DATETIMEPICKER1CTime mtmDate开户日期IDC_EDIT1CString mstrNo帐号IDC_EDIT1CEdit mctrNo1DC_EDIT2CString mstrName开户人姓名IDC_EDIT2CEdit mctrNameIDC_EDIT3CString mstrPassword密码IDC_EDIT3CEdit m_ctrPasswordIDC_EDIT4CString mstrComPassword确认密码IDC_EDIT4CEdit mctrComPasswordIDC_EDIT5CString mstrlD身份证号IIC_EDIT5CEdit mctrlDIDC_EDIT6Double mbBalance帐户余额IDC_EDIT7CString m_strAddress开户地址IDC_EDIT7CEdit mctrAddressIDOK“确定〃按钮IDCANCLE“取消〃按钮1在CAccountDlg类中添加CAccontSet类的成员变量mrecordset;2添加记录集类CCurrentSet类,基类为CRecordSet,数据表为current表;3添加初始化对话框OnlnitDialogO方法BOOL CAccountDlg::OnInitDialogCDialog::OnInitDialog;mt inDate=CTime::GetCurrentTime;m ctrSex.AddString〃男〃;m ctrSex.AddString〃女〃;UpdateDataFALSE;return TRUE;4IDOK控件的消息响应函数,完成对帐户表和活期存取款表的记录添加完成“删除帐户〃的功能在CMainFrame类中添加菜单的消息响应函数,找到当前用户在账户表中的记录,并且判断该帐户是否还有活期存款和定期存款,如果有记录,则无法删除帐户void CMainFrame::OnDeleteAccount//TODO:Add yourcommand handlercode hereCBankApp*ptheApp=CBankApp*AfxGetApp;CString strSQL;strSQL.Format,zselect*from Accountwhere CNo=%s〃,ptheApp-strNo;CAccountSet recordset;if!recordset.Open AFXDB_USE_DEFAULLTYPE,strSQLMessageBoxOpen DatabaseFiled!〃,“Database Error/z,MB OK;return;ifMessageBox〃确定删除该用户?〃,〃提示〃,MB_YESNO==IDYESif recordset.m CBalance!=0recordset.Close;MessageBox〃用户账户中活期存款仍存有余额,无法进行销户!〃;return;CTimeDepositSet tds;CString strRecord;strRecord.Format^select*from TimeDepositwhere CNo=%s,z,ptheApp-strNo;if!tds.OpenAFX_DB_USE_DEFAULT_TYPE,strRecordrecordset.Close;MessageBox,z0penDatabaseFiled!〃,“Database Error”,MB OK;return;if tds.GetRecordCount!=0recordset.Close;tds.Close;。
个人认证
优秀文档
获得点赞 0