银行数据库表的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统需求分析:
1.在学习了数据库之后,为了更进一步巩固所学知识,将其用于实践,我们选择了银行管理系统,来完成最基本的一些操作。
2.功能
(1).客户:包括存款,取款,转账,查询余额,查看流水,密码修改这些功能
(2).管理员:
1.新增用户
2 .删除
3.查看
4.员工绩效(就是根据流水表中的员工号,select出员工一天内做的所有单,用来考评绩效)
5.VIP判别(就是账户存储资金大于某个值的时候在账户表的一个字段上赋值为VIP)
6.资金储备金判别,当库存资金总数小于一个值的时候,系统对管理者要提出风险警告。
3.功能流程图:
详细设计:
1.E-R图模型
2.根据E-R图设计关系表
三个实体:bank,staff,custom
一个联系:operate
关系图:
程序代码:
客户部分:
a.void CClientDlg::OnButtonIn() //存款函数
{
// TODO: Add your control notification handler code here
CInDlg InDlg;
if (InDlg.DoModal()==IDOK)
{double temp,temp1;
ADOConn ado;
CString sql = "select * from Custom where Cname='"+Cname+"'";
_RecordsetPtr ResultSet = ado.GetRecordSet((_bstr_t)sql);
CString str = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Crmoney");
CString bid = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bid");
CString str4 = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Cid");
CString str2= str; //将交易前钱数暂存
temp=atof(str);
temp1=(double)InDlg.m_InNum;
temp+=temp1;
str.Format("%f",temp);
CString str3 = str; //暂存交易后金额
sql = "update Custom set Crmoney='"+str+"' "+"where Cname='"+Cname+"'";
ado.ExecuteSQL((_bstr_t)sql);
sql = "select count(*) num from Operate";
ResultSet = ado.GetRecordSet((_bstr_t)sql);
int num = atoi((LPCTSTR)(_bstr_t)ResultSet->GetCollect("num"));
str = "240600";CString Oid,Cid,Sid,Bid,Otime,Omoney,OAmoney,OBmoney;
Oid.Format("%d",++num); Oid=str+Oid;
Sid="7985001";Bid = bid; double temp2;
sql = "select * from Bank where Bid='"+Bid+"'";
ResultSet = ado.GetRecordSet((_bstr_t)sql);
CString bmoney = (LPCTSTR)(_bstr_t)ResultSet->GetCollect("Bmoney");
temp2 = atof(bmoney); temp2+=temp1; bmoney.Format("%f",temp2);
sql = "update Bank set Bmoney='"+bmoney+"' where Bid='"+Bid+"'";
ado.ExecuteSQL((_bstr_t)sql);
CString Otype = "存款";CString m_time; CTime time;
time = CTime::GetCurrentTime();
m_time = time.Format("%Y年%m月%d日%X");Otime = m_time; int flag = 0;
Omoney.Format("%f",temp1); OAmoney = str2;OBmoney = str3;
sql.Format("insert into Operate values('%s','%s','%s','%s','%s','%s',%d,%s,%s,%s)",Oid,str4,Bid,Sid,Otype,m_ time,flag,Omoney,OAmoney,OBmoney);ado.ExecuteSQL((_bstr_t)sql);ado.E xitConnect(); }}
b.v oid CClientDlg::OnButtonGet() //取款函数
{// TODO: Add your control notification handler code here
CGetDlg GetDlg;;
if (GetDlg.DoModal()==IDOK)
{double temp,temp1;