ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:247.02KB ,
资源ID:4606388      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4606388.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计报告示例1.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计报告示例1.docx

1、数据库课程设计报告示例1西安科技大学数据库课程设计报告题目: 银行管理系统 班级: 学号: 姓名: 2009年6月摘 要银行管理系统在无论在网络上,还是各种管理系统软件的资料上都有讲解,而且均非常详细,其难度也可想而知。这次课程设计时间紧迫,另外作者本身能力也十分有限,只能完成银行管理系统中的少量功能,所以该系统还有很多有待扩充及完善的地方,有不妥善的地方还请老师指点。(这些应出现在总结,在此应简要说明选题的目的及意义)这次课程设计只是达到训练、牢固知识的目的,熟悉数据库的前台和后台编程、VC+的控件、如何访问数据库等方面的知识,所以实现的功能也很有限,待以后随着知识的积累,慢慢地扩充完善该系

2、统。本系统采用了可视化的集成开发环境Visual C+ 6.0编辑用户操作界面、以SQL Sever为后台数据库并以CRecordSet类访问数据库信息的管理系统,该系统能够完成用户帐号的建立、用户存取款、数据备份与恢复等基本功能。关键字:SQL数据库、SQL语言、VC+、银行管理系统目 录1 绪论1.1 选题目的及意义11.2 设计内容12 需求分析2.1 功能需求12.2 数据需求12.3 其他需求13数据库设计3.1概念结构设计23.2逻辑结构设计23.3物理结构设计24 系统功能设计45 系统实现5.1 开发环境45.2 主要功能的运行结果及代码46 总结18参考文献(页码再核对一下)

3、1 绪论1.1选题的目的及意义 银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。1.2 设计内容用户管理模块:建立新用户、删除老用户、更改用户操作;账户操作模块:账户信息、活期存取款操作、查询活期操作记录、定期存款、定期取款、查询定期操作记录;数据库模块:数据库备份、数据库恢复;2 需求分析2.1 功能需求对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信

4、息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能。2.2 数据需求账户信息:帐号varchar(20),开户人姓名varchar(20),账户密码char(6),身分证号varchar(20),账户余额float,开户日期datetime,开户地址varchar(30);活期操作:帐号varchar(20),金额float,类型(存入,支出),账户余额float,利息float,存入日期datetime;定期存款:帐号varchar(20),存款人姓名varhcar(10),存款金额float

5、,存款日期datetime,存储年份int,存储利率float;定期取款:帐号varchar(20),取款人姓名varhcar(10),取款金额float,取款日期datetime;定期历史操作记录:帐号varchar(20),存取款人姓名varhcar(10),类型(存入,支出),办理日期datetime,存储年份int,存储利率float;2.3 其它需求完成数据库的备份与恢复,系统登录对话框等功能。3. 数据库设计3.1概念结构设计 银行管理系统E-R图3.2 逻辑结构设计 储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址); 活期存取款(nID,帐号,金额,类型,办

6、理日期,利息,账户余额); 定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期); 定期取款(nID,帐号,取款人姓名,取款金额,取款日期); 定期记录(nID,帐号,存取款人姓名,类型,操作金额,年份,操作日期)3.3 物理结构设计储户表序号字段名称字段描述数据类型长度属性1CNo帐号Varchar20PK2CName开户人姓名Varhcar20非空3CPassword登录密码Char6非空4CID身份证号Varchar20非空5CSex性别Char 2非空6CBalance帐户余额Float8非空7CDate开户日期Datetime8非空8CAddress开户地址Varc

7、har30非空主键:帐号;约束条件:各属性均非空,密码长度为6位;活期存取款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CMoney操作金额Float8非空4CStyle操作类型Varchar10非空5CDate操作日期Datetime8非空6CInterest利息Float8非空7CBalance帐户余额Float8非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;定期存款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CName存款人姓名Varchar10非空4CMo

8、ney存款金额Float8非空5CDate存款日期Datetime8非空6CYear存储年份Int4非空7CRate存储利率Float8非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;定期取款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CName取款人姓名Varchar10非空4CMoney取款金额Float8非空5CDate取款日期Datetime8非空主键:nID;外键:nID;被参照表:定期存款表约束条件:各属性非空定期操作记录表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varcha

9、r20非空3CName存取款人姓名Float8非空4CStyle操作类型Char4非空5CMoney存取款金额float8非空6CYear存储年份Int4非空7CDate存取款日期Datetime8非空主键:nID;外键:nID;被参照表:定期存款表,定期取款表约束条件:各属性非空4.系统功能设计图4-1银行管理系统功能结构图5 .系统实现5.1 系统开发环境软件:SQL Sever 2000,VC+6.0操作系统:Window XP硬件:Pentiun 4 DDR 512MB 120G硬盘5.2主要功能的运行结果及代码数据库创建过程及其连接 (1).进入企业管理器窗口,选择“新建SQL Se

10、ver注册”;(2).选中“数据库”文件夹,单击鼠标右键,选择“新建数据库”,输入数据库名Bank;(3).单击“确定”按钮,关闭对话框,数据库创建成功。完成“账户登录”的窗口ID控件类型成员变量说明IDC_EDIT1CStringm_strNo用户帐号IDC_EDIT1CEditm_ctrNoIDC_EDIT2CStringm_strPassword登录密码IDC_EDIT2CEditm_ctrPasswordIDC_EDIT3CStringm_strRePassword确认密码IDC_EDIT3CEditm_ctrRePasswordIDOK“OK”按钮IDCANCLE“Cancle”按钮

11、(1) 添加记录集类CAccountSet类,基类为CRecordSet,数据表为account表;(2) 在CLoginDlg类中添加CAccontSet类的成员变量m_recordset;(3) 为“CBankApp”类添加为CString型的成员变量strNO;(4) IDOK控件的消息响应函数:void CLoginDlg:OnOK() UpdateData(TRUE);if (m_strNo = ) MessageBox(Please Input the Account Number!); m_ctrNo.SetFocus(); return ; if (m_strPassword

12、= ) MessageBox(Please Input the Password!); m_ctrPassword.SetFocus(); return ; if (m_strRePassword = ) MessageBox(Please Input the Confirm Password!); m_ctrRePassword.SetFocus(); return ; if (m_strPassword != m_strRePassword) MessageBox(Two Passwords Are Differed!); m_strPassword = ; m_strRePassword

13、 = ; UpdateData(FALSE); m_ctrPassword.SetFocus(); return ; CString strSQL; strSQL.Format(select * from Account where CNo = %s,m_strNo);if (!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL) MessageBox(Open Database Filed!,Database Error,MB_OK); return ; if (m_recordset.m_CPassword != m_strPassword) M

14、essageBox(Password Error! Please Rewrite!); m_recordset.Close();m_strPassword = ; m_strRePassword = ; UpdateData(FALSE); m_ctrPassword.SetFocus(); return ; CBankApp * ptheApp = (CBankApp *) AfxGetApp(); ptheApp-strNo = m_strNo; CDialog:OnOK();(5) 在“CBankApp”类中的“InitInstance()”函数中添加登录对话框的对象:CLoginDlg

15、 dlg;if (dlg.DoModal() != IDOK) return FALSE;完成“创建新帐户”的窗口:ID控件类型成员变量说明IDC_COMBO1CComboBoxm_ctrSex性别IDC_DATETIMEPICKER1CTimem_tmDate开户日期IDC_EDIT1CStringm_strNo帐号IDC_EDIT1CEditm_ctrNoIDC_EDIT2CStringm_strName开户人姓名IDC_EDIT2CEditm_ctrNameIDC_EDIT3CStringm_strPassword密码IDC_EDIT3CEditm_ctrPasswordIDC_EDIT

16、4CStringm_strComPassword确认密码IDC_EDIT4CEditm_ctrComPasswordIDC_EDIT5CStringm_strID身份证号IDC_EDIT5CEditm_ctrIDIDC_EDIT6Doublem_bBalance帐户余额IDC_EDIT7CStringm_strAddress开户地址IDC_EDIT7CEditm_ctrAddressIDOK“确定”按钮IDCANCLE“取消”按钮(1) 在CAccountDlg类中添加CAccontSet类的成员变量m_recordset;(2) 添加记录集类CCurrentSet类,基类为CRecordSe

17、t,数据表为current表;(3) 添加初始化对话框OnInitDialog()方法:BOOL CAccountDlg:OnInitDialog() CDialog:OnInitDialog(); m_tmDate = CTime:GetCurrentTime(); m_ctrSex.AddString(男); m_ctrSex.AddString(女); UpdateData(FALSE); return TRUE; (4) IDOK控件的消息响应函数,完成对帐户表和活期存取款表的记录添加。完成“删除帐户”的功能:在CMainFrame类中添加菜单的消息响应函数,找到当前用户在账户表中的记

18、录,并且判断该帐户是否还有活期存款和定期存款,如果有记录,则无法删除帐户。void CMainFrame:OnDeleteAccount() / TODO: Add your command handler code here CBankApp * ptheApp = (CBankApp *) AfxGetApp(); CString strSQL; strSQL.Format(select * from Account where CNo = %s,ptheApp-strNo); CAccountSet recordset; if (!recordset.Open(AFX_DB_USE_DE

19、FAULT_TYPE,strSQL) MessageBox(Open Database Filed!,Database Error,MB_OK); return ; if (MessageBox(确定删除该用户?,提示,MB_YESNO) = IDYES) if (recordset.m_CBalance != 0) recordset.Close(); MessageBox(用户账户中活期存款仍存有余额,无法进行销户!); return ; CTimeDepositSet tds; CString strRecord; strRecord.Format(select * from TimeD

20、eposit where CNo = %s,ptheApp-strNo); if (!tds.Open(AFX_DB_USE_DEFAULT_TYPE,strRecord) recordset.Close(); MessageBox(Open Database Filed!,Database Error,MB_OK); return ; if (tds.GetRecordCount() != 0) recordset.Close(); tds.Close(); MessageBox(用户账户中仍存有定期账目,无法销户!); return ; recordset.Delete(); record

21、set.Requery(); recordset.Close(); MessageBox(用户账户删除成功!); else recordset.Close(); return ; 完成“更改帐户”的功能:在CMainFrame类中添加菜单的消息响应函数,重新打开登录对话框:void CMainFrame:OnChangeAccount() / TODO: Add your command handler code here CLoginDlg dlg; dlg.DoModal();完成“退出系统”的功能:在CMainFrame类中添加菜单的消息响应函数:void CMainFrame:OnEx

22、it() if (MessageBox(确定退出该系统?,提示,MB_YESNO) = IDYES) PostQuitMessage(1); return ; 完成“查询账户信息”的功能:ID控件类型成员变量说明IDC_DATETIMEPICKER1CTimem_tmDate开户日期IDC_EDIT1CStringm_strNo帐号IDC_EDIT2CStringm_strName姓名IDC_EDIT3CStringm_strAddress开户地址IDC_EDIT4CStringm_strBalance帐户余额IDC_LIST1CListCtrlm_ctrList列表控件IDOK“确定”按钮(

23、1)添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;(2)为CAccountInfo类添加void型的成员函数RefreshList(),初始化列表信息。完成“活期存取款”功能ID控件类型成员变量说明IDC_BUTTON_DEPOSIT“存款”按钮IDC_BUTTON_GET“取款”按钮IDC_BUTTON_HISTORY“历史记录”按钮IDC_EDIT1CStringm_strName存取款人姓名IDC_EDIT2CStringm_strBalance账户余额IDC_EDIT3Doublem_bMoney存取金额IDC_EDIT3CEditm_ctrMoneyIDOK

24、“OK”按钮IDCANCLE“Cancle”按钮(1) 添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;(2) 添加各种操作的消息响应函数,为存取款表添加相应的记录;完成“查看活期存取款历史记录”功能:ID控件类型成员变量说明IDC_LIST1MListCtrlm_ctrListIDOK“OK”按钮IDCANCLE“Cancle”按钮(1) 添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;(2) 添加RefreshList()类成员函数,初始化列表信息;BOOL CHistroyRecordDlg:OnInitDialog() CDialog:O

25、nInitDialog(); m_ctrList.InsertColumn(0,存取款人姓名); m_ctrList.InsertColumn(1,操作类型); m_ctrList.InsertColumn(2,操作金额); m_ctrList.InsertColumn(3,账户余额); m_ctrList.InsertColumn(4,操作日期); m_ctrList.SetColumnWidth(0,120); m_ctrList.SetColumnWidth(1,80); m_ctrList.SetColumnWidth(2,80); m_ctrList.SetColumnWidth(3

26、,80); m_ctrList.SetColumnWidth(4,100); m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT); RefreshList(); / TODO: Add extra initialization here return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CHistroyRecordDlg:RefreshList() m_ctrList.DeleteAllItems(); m_ctrList.SetRedraw(FALSE); CBankApp * ptheApp = (CBankApp *) AfxGetApp(); CCurrentSet m_recordset; /*打开用户账户记录*/ if (!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE) MessageBox(Open

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2