银行数据库表的设计知识讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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图设计关系表

(1).银行信息表(bank)

(2).客户信息表(custom)

(3).员工(管理员)表(staff)

(4).流水信息表

三个实体: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.ExitConnect(); }}

b.void CClientDlg::OnButtonGet() //取款函数

{// TODO: Add your control notification handler code here

CGetDlg GetDlg;;

if (GetDlg.DoModal()==IDOK)

{double temp,temp1;

ADOConn ado;

CString sql = "select * from Custom where

Cname='"+Cname+"'";

_RecordsetPtr ResultSet =

ado.GetRecordSet((_bstr_t)sql);

相关文档
最新文档