C#课程设计银行个人账户管理系统.docx
《C#课程设计银行个人账户管理系统.docx》由会员分享,可在线阅读,更多相关《C#课程设计银行个人账户管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
C#课程设计银行个人账户管理系统
C#课程设计报告
题目:
银行个人账户管理系统
专业:
网络工程
班级:
网络101
计算机科学与信息学院
1需求分析
1.1系统概述
在没有使用银行管理系统前,采取的是人工方式,相对而言耗时大,效率低且造成一定的资源浪费。
我们通过设计银行管理系统,可以对银行的一般业务进行有序管理,对于客户的个人资料也不需要做大量烦琐的登记工作,变的相对简单容易操作且不用耗费大量人力财力。
初步分析,该系统的主要功能是管理每个用户的信息,管理员登陆系统后,可以查看用户的信息,修改用户的信息,查看用户的余额,帮用户存、取款,开户和销户。
1.2功能性需求
通过分析,该系统只有一个用户管理模块,管理员登陆模块后管理用户的信息,框图如下:
1.3非功能性需求
本系统采用的是基于E-R图的设计方法。
根据以上情况,该系统总体目标如下:
(1)以真实、准确数据为基础,以先进、有效、合理的管理方法为核心,以现代计算机技术为手段,建设银行个人账户管理系统。
(2)提高银行办事效率,银行负责人及工作人员能及时、准确地掌握各种信息,为决策提供有效的依据。
(3)实现内部管理电脑化,实现信息共享。
(4)使银行的账户管理工作系统化、规范化、自动化,从而达到提高账户管理效率的目的。
(5)使办公人员可以轻松快捷地完成对账户管理的任务。
2概念设计
通过以上的分析,可以知道,该系统的实体有管理员、用户,其实体如下:
将以上的实体图集成为E-R图得到如下:
3逻辑设计
将以上的E-R图转换为关系模型,得到如下:
管理员(AdminID,AdminPassword,AdminName);
账户表(账号,户名,余额,手机号码,身份证号,密码);
记录表(账号,收支,,金额,余额,时间,操作员);
4数据库设计
4.1数据库表属性
本系统包含了如下三个表:
管理员:
字段名称
数据类型
字段长度
允许空否
备注
AdminID
varchar
50
NO
主键
AdminPassword
AdminName
账户表:
账号
int
户名
余额
float
手机号码
char
11
身份证号
18
密码
6
记录表:
收支
10
金额
时间
datetime
操作员
4.2数据库表建立
这里我们建表的时候没有用代码,是直接用手工添加的。
4.3预插入数据
预先插入管理员的数据,以登录系统。
账户表可以登录系统后创建,所以不需要预插入数据。
既然无账户数据,记录表当然就没有数据。
5系统设计
5.1管理员登录
5.1.1界面
登录界面居中,并且顶部留有一定空间,聚焦在工号:
5.1.2流程图
流程图如下:
5.1.3主要代码
点击登录按钮,调用myBtnButton_Click()函数,Login.aspx.cs部分代码:
protectedvoidCheckLogin()
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="server=.\\sqlexpress;database=银行个人账户管理系统;integratedsecurity=true;";//连接数据库的字符串
if(con.State==System.Data.ConnectionState.Closed)
con.Open();
}
SqlCommandcmd=newSqlCommand();
cmd.CommandText=@"select*
from管理员
whereAdminID=@IDandAdminPassword=@pwd";
SqlParameterp=newSqlParameter("@ID",this.myAdminID.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@pwd",this.myAdminPassword.Text);
cmd.Connection=con;
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
if(dr["AdminPassword"].ToString()==this.myAdminPassword.Text)
Session["valid"]=true;//用来判断系统的登录
Session["adminName"]=dr["AdminName"].ToString();//操作员Session
Response.Redirect("SystemFrame.aspx");
else
this.ltErrInfo.Text="";
protectedvoidmyBtnButton_Click(objectsender,EventArgse)
CheckLogin();
5.2后台管理
正确登录后即可进去后台管理页面:
后台管理页面分为三部分:
顶部显示信息附有退出按钮;中部分为账户管理、创建账户、删除账户三个链接;底部是显示窗口,中部的连接页面将在这里显示。
5.2.1顶部
顶部左边显示“银行个人账户管理系统”:
顶部右边利用生成的操作员Session显示操作员,并有退出按钮:
SystemFrame.aspx上部div代码:
100%">银行个人账户管理系统right">操作员:<%=Session["adminName"].ToString()%>right">ButtonID="Button_Quit"runat="server"Text="退出"OnClick="Quit_Click"/>
100%">
right">操作员:<%=Session["adminName"].ToString()%>right">ButtonID="Button_Quit"runat="server"Text="退出"OnClick="Quit_Click"/>
right">操作员:
<%=Session["adminName"].ToString()%>
right">ButtonID="Button_Quit"runat="server"Text="退出"OnClick="Quit_Click"/>
right">
ButtonID="Button_Quit"runat="server"Text="退出"OnClick="Quit_Click"/>
5.2.2中部
SystemFrame.aspx中部div代码:
10px"><%--中部分--%>账户管理创建账户删除账户
10px">
<%--中部分--%>
账户管理
创建账户
删除账户
5.2.3底部
SystemFrame.aspx底部div代码:
10px;height:500px;"><%--下部分--%>1px;border-color:red;width:100%;height:100%;">
10px;height:
500px;">
<%--下部分--%>
1px;border-color:red;width:100%;height:100%;">
1px;border-color:
red;width:
100%;height:
100%;">
MainFrame.aspx代码:
30px;">欢迎使用银行管理系统
5.3创建账户
5.3.1界面
界面居中,并且顶部留有一定空间,聚焦在账号:
5.3.2流程图
5.3.3主要代码
CreateAccount.aspx.cs部分代码:
try
con.ConnectionString="server=.\\sqlexpress;database=银行个人账户管理系统;integratedsecurity=true;";
#region创建账户,同时添加第一次收支记录
stringsql=@"insertinto账户表(账号,户名,余额,手机号码,身份证号,密码)
values(@UserID,@UserName,@Money,@UserTel,@IDcard,@pwd)
insertinto记录表
(账号,收支,金额,余额,时间,操作员)
values(@UserID,'存入',@Money,@Balances,@DateTime,@AdminName)";
SqlCommandcmd=newSqlCommand(sql,con);
SqlParameterp=newSqlParameter("@UserID",this.userID.Text);
p=newSqlParameter("@UserName",this.userName.Text);
p=newSqlParameter("@Money",this.Money.Text);
p=newSqlParameter("@UserTel",this.userTel.Text);
p=newSqlParameter("@IDcard",this.IDcard.Text);
p=newSqlParameter("@pwd",this.UserPassword.Text);
p=newSqlParameter("@Balances",this.Money.Text);
p=newSqlParameter("@DateTime",DateTime.Now);
p=newSqlParameter("@AdminName",Session["adminName"].ToString());
cmd.ExecuteNonQuery();
#endregion
Session["userNum"]=this.userID.Text;
Session["money"]=this.Money.Text;
Session["explain"]="存入";
this.ltTip.Text="";
this.userID.Text="";
this.userName.Text=string.Empty;
this.Money.Text=string.Empty;
this.userTel.Text=string.Empty;
this.IDcard.Text=string.Empty;
this.UserPassword.Text=string.Empty;
this.userID.Focus();
catch(Exceptionex)
finally
if(con.State==System.Data.ConnectionState.Open)
con.Close();
5.3.4结果
输入正确信息:
显示创建成功:
查看数据库:
账户表有了一条用户信息:
记录表也有了一条存入记录:
再创建一个账户,留用删除。
5.4账户管理
5.4.1登录界面
5.4.2流程图
5.4.3进入账户
显示账户信息:
5.5存款
5.5.1运行界面
只需输入金额,提交就可以了:
5.5.2主要代码
SaveMoney.aspx.cs部分代码:
floatf1=float.Parse(this.saveMoney.Text);
floatf2=float.Parse(Session["userBalances"].ToString());
floatf3=f1+f2;//计算新的余额
//更新账户金额,同时添加交易记录
stringsql=@"update账户表
set余额=@newMoney
where账号=@userID
values(@UserID,'存入',@Money,@Balances,@DateTime,@AdminName);";
SqlParameterp=newSqlParameter("@newMoney",f3);
p=newSqlParameter("@userID",Session["UserID"].ToString());
p=newSqlParameter("@Money",this.saveMoney.Text);
p=newSqlParameter("@Balances",Session["userBalances"].ToString());
Session["userBalances"]=f3.ToString();//更新余额Session
this.saveMoney.Focus();
5.6取款
5.6.1运行界面
取款需要再次验证密码:
5.6.2主要代码
Withdrawals.aspx.cs部分代码:
from账户表
where账号=@uIDand密码=@pwd";
SqlParameterp=newSqlParameter("@uID",Session["UserID"].ToString());
p=newSqlParameter("@pwd",this.UserPassword.Text);//验证输入框里的密码
if(dr["密码"].ToString()==this.UserPassword.Text)
floatf1=float.Parse(this.withdrawalsMoney.Text);
floatf3=f2-f1;
if(f3<=0)
this.withdrawalsMoney.Focus();
return;
values(@UserID,'取出',@Money,@Balances,@DateTime,
@AdminName);";
cmd=newSqlCommand(sql,con);
p=newSqlParameter("@newMoney",f3);
p=newSqlParameter("@Money",this.withdrawalsMoney.Text);
Session["userBalances"]=f3.ToString();
catch(Exception)
5.7收支明细
5.7.1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1