数据库课程设计报告银行管理系统Word文档格式.docx
- 文档编号:16535797
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:25
- 大小:239.89KB
数据库课程设计报告银行管理系统Word文档格式.docx
《数据库课程设计报告银行管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告银行管理系统Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
2.1功能需求
对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;
对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;
对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能。
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,存款日期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,帐号,金额,类型,办理日期,利息,账户余额);
定期存款(nID,帐号,存款人姓名,金额,存储年份,年利率,存储日期);
定期取款(nID,帐号,取款人姓名,取款金额,取款日期);
定期记录(nID,帐号,存取款人姓名,类型,操作金额,年份,操作日期)
3.3物理结构设计
储户表
序号
字段名称
字段描述
数据类型
长度
属性
1
CNo
帐号
Varchar
20
PK
2
CName
开户人姓名
Varhcar
非空
3
CPassword
登录密码
Char
6
4
CID
身份证号
5
CSex
性别
Char
CBalance
帐户余额
Float
8
7
CDate
开户日期
Datetime
CAddress
开户地址
30
主键:
帐号;
约束条件:
各属性均非空,密码长度为6位;
活期存取款表
nID
Int
CMoney
操作金额
CStyle
操作类型
10
操作日期
CInterest
利息
nID;
外键:
被参照表:
各属性均非空;
定期存款表
存款人姓名
存款金额
存款日期
CYear
存储年份
CRate
存储利率
定期取款表
取款人姓名
取款金额
取款日期
各属性非空
定期操作记录表
存取款人姓名
存取款金额
float
存取款日期
定期存款表,定期取款表
4.系统功能设计
图4-1银行管理系统功能结构图
5.系统实现
5.1系统开发环境
软件:
SQLSever2000,VC++6.0
操作系统:
WindowXP
硬件:
Pentiun4DDR512MB120G硬盘
5.2主要功能的运行结果及代码
数据库创建过程及其连接
(1).进入企业管理器窗口,选择“新建SQLSever注册”;
(2).选中“数据库”文件夹,单击鼠标右键,选择“新建数据库”,输入数据库名Bank;
(3).单击“确定”按钮,关闭对话框,数据库创建成功。
完成“账户登录”的窗口
ID
控件类型
成员变量
说明
IDC_EDIT1
CString
m_strNo
用户帐号
CEdit
m_ctrNo
IDC_EDIT2
m_strPassword
m_ctrPassword
IDC_EDIT3
m_strRePassword
确认密码
m_ctrRePassword
IDOK
“OK”按钮
IDCANCLE
“Cancle”按钮
(1)添加记录集类CAccountSet类,基类为CRecordSet,数据表为account表;
(2)在CLoginDlg类中添加CAccontSet类的成员变量m_recordset;
(3)为“CBankApp”类添加为CString型的成员变量strNO;
(4)IDOK控件的消息响应函数:
voidCLoginDlg:
:
OnOK()
{
UpdateData(TRUE);
if(m_strNo=="
"
)
{
MessageBox("
PleaseInputtheAccountNumber!
);
m_ctrNo.SetFocus();
return;
}
if(m_strPassword=="
PleaseInputthePassword!
m_ctrPassword.SetFocus();
if(m_strRePassword=="
PleaseInputtheConfirmPassword!
m_ctrRePassword.SetFocus();
if(m_strPassword!
=m_strRePassword)
TwoPasswordsAreDiffered!
m_strPassword="
;
m_strRePassword="
UpdateData(FALSE);
CStringstrSQL;
strSQL.Format("
select*fromAccountwhereCNo='
%s'
m_strNo);
if(!
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
OpenDatabaseFiled!
"
DatabaseError"
MB_OK);
if(m_recordset.m_CPassword!
=m_strPassword)
PasswordError!
PleaseRewrite!
m_recordset.Close();
m_strPassword="
CBankApp*ptheApp=(CBankApp*)AfxGetApp();
ptheApp->
strNo=m_strNo;
CDialog:
OnOK();
}
(5)在“CBankApp”类中的“InitInstance()”函数中添加登录对话框的对象:
CLoginDlgdlg;
if(dlg.DoModal()!
=IDOK)
returnFALSE;
完成“创建新帐户”的窗口:
IDC_COMBO1
CComboBox
m_ctrSex
IDC_DATETIMEPICKER1
CTime
m_tmDate
m_strName
m_ctrName
密码
IDC_EDIT4
m_strComPassword
m_ctrComPassword
IDC_EDIT5
m_strID
m_ctrID
IDC_EDIT6
Double
m_bBalance
IDC_EDIT7
m_strAddress
m_ctrAddress
“确定”按钮
“取消”按钮
(1)在CAccountDlg类中添加CAccontSet类的成员变量m_recordset;
(2)添加记录集类CCurrentSet类,基类为CRecordSet,数据表为current表;
(3)添加初始化对话框OnInitDialog()方法:
BOOLCAccountDlg:
OnInitDialog()
OnInitDialog();
m_tmDate=CTime:
GetCurrentTime();
m_ctrSex.AddString("
男"
女"
UpdateData(FALSE);
returnTRUE;
(4)IDOK控件的消息响应函数,完成对帐户表和活期存取款表的记录添加。
完成“删除帐户”的功能:
在CMainFrame类中添加菜单的消息响应函数,找到当前用户在账户表中的记录,并且判断该帐户是否还有活期存款和定期存款,如果有记录,则无法删除帐户。
voidCMainFrame:
OnDeleteAccount()
//TODO:
Addyourcommandhandlercodehere
CBankApp*ptheApp=(CBankApp*)AfxGetApp();
CStringstrSQL;
ptheApp->
strNo);
CAccountSetrecordset;
if(!
recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
if(MessageBox("
确定删除该用户?
提示"
MB_YESNO)==IDYES)
if(recordset.m_CBalance!
=0)
{
recordset.Close();
MessageBox("
用户账户中活期存款仍存有余额,无法进行销户!
return;
}
CTimeDepositSettds;
CStringstrRecord;
strRecord.Format("
select*fromTimeDepositwhereCNo='
if(!
tds.Open(AFX_DB_USE_DEFAULT_TYPE,strRecord))
{
if(tds.GetRecordCount()!
tds.Close();
用户账户中仍存有定期账目,无法销户!
recordset.Delete();
recordset.Requery();
recordset.Close();
用户账户删除成功!
else
完成“更改帐户”的功能:
在CMainFrame类中添加菜单的消息响应函数,重新打开登录对话框:
OnChangeAccount()
CLoginDlgdlg;
dlg.DoModal();
完成“退出系统”的功能:
在CMainFrame类中添加菜单的消息响应函数:
OnExit()
确定退出该系统?
PostQuitMessage
(1);
完成“查询账户信息”的功能:
姓名
m_strBalance
IDC_LIST1
CListCtrl
m_ctrList
列表控件
(1)添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;
(2)为CAccountInfo类添加void型的成员函数RefreshList(),初始化列表信息。
完成“活期存取款”功能
IDC_BUTTON_DEPOSIT
“存款”按钮
IDC_BUTTON_GET
“取款”按钮
IDC_BUTTON_HISTORY
“历史记录”按钮
账户余额
m_bMoney
存取金额
m_ctrMoney
(1)添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;
(2)添加各种操作的消息响应函数,为存取款表添加相应的记录;
完成“查看活期存取款历史记录”功能:
MListCtrl
(2)添加RefreshList()类成员函数,初始化列表信息;
BOOLCHistroyRecordDlg:
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,80);
m_ctrList.SetColumnWidth(4,100);
m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
RefreshList();
Addextrainitializationhere
//returnTRUEunlessyousetthefocustoacontrol
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
voidCHistroyRecordDlg:
RefreshList()
m_ctrList.DeleteAllItems();
m_ctrList.SetRedraw(FALSE);
CCurrentSetm_recordset;
/*打开用户账户记录*/
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE))
inti=0;
while(!
m_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 银行 管理 系统