C#课程设计银行个人账户管理系统.docx
- 文档编号:4259651
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:33
- 大小:364.91KB
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
varchar
50
NO
AdminName
varchar
50
NO
账户表:
字段名称
数据类型
字段长度
允许空否
备注
账号
int
NO
主键
户名
varchar
50
NO
余额
float
NO
手机号码
char
11
NO
身份证号
char
18
NO
密码
char
6
NO
记录表:
字段名称
数据类型
字段长度
允许空否
备注
账号
int
NO
收支
varchar
10
NO
金额
float
NO
余额
float
NO
时间
datetime
NO
操作员
varchar
50
NO
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.Parameters.Add(p);
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="";
}
}
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"/>银行个人账户管理系统
5.2.2中部
SystemFrame.aspx中部div代码:
10px"> <%--中部分--%>
5.2.3底部
SystemFrame.aspx底部div代码:
10px;height: 500px;"> <%--下部分--%> 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部分代码:
SqlConnectioncon=newSqlConnection();
try
{
con.ConnectionString="server=.\\sqlexpress;database=银行个人账户管理系统;integratedsecurity=true;";
if(con.State==System.Data.ConnectionState.Closed)
{
con.Open();
}
#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);
cmd.Parameters.Add(p);
p=newSqlParameter("@UserName",this.userName.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@Money",this.Money.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@UserTel",this.userTel.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@IDcard",this.IDcard.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@pwd",this.UserPassword.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@Balances",this.Money.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@DateTime",DateTime.Now);
cmd.Parameters.Add(p);
p=newSqlParameter("@AdminName",Session["adminName"].ToString());
cmd.Parameters.Add(p);
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)
{
this.ltTip.Text="";
this.userID.Focus();
}
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部分代码:
SqlConnectioncon=newSqlConnection();
try
{
floatf1=float.Parse(this.saveMoney.Text);
floatf2=float.Parse(Session["userBalances"].ToString());
floatf3=f1+f2;//计算新的余额
con.ConnectionString="server=.\\sqlexpress;database=银行个人账户管理系统;integratedsecurity=true;";
if(con.State==System.Data.ConnectionState.Closed)
{
con.Open();
}
//更新账户金额,同时添加交易记录
stringsql=@"update账户表
set余额=@newMoney
where账号=@userID
insertinto记录表
(账号,收支,金额,余额,时间,操作员)
values(@UserID,'存入',@Money,@Balances,@DateTime,@AdminName);";
SqlCommandcmd=newSqlCommand(sql,con);
SqlParameterp=newSqlParameter("@newMoney",f3);
cmd.Parameters.Add(p);
p=newSqlParameter("@userID",Session["UserID"].ToString());
cmd.Parameters.Add(p);
p=newSqlParameter("@Money",this.saveMoney.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@Balances",Session["userBalances"].ToString());
cmd.Parameters.Add(p);
p=newSqlParameter("@DateTime",DateTime.Now);
cmd.Parameters.Add(p);
p=newSqlParameter("@AdminName",Session["adminName"].ToString());
cmd.Parameters.Add(p);
cmd.ExecuteNonQuery();
Session["userBalances"]=f3.ToString();//更新余额Session
this.ltTip.Text="";
}
catch(Exceptionex)
{
this.ltTip.Text="";
this.saveMoney.Focus();
}
finally
{
if(con.State==System.Data.ConnectionState.Open)
{
con.Close();
}
}
5.6取款
5.6.1运行界面
取款需要再次验证密码:
5.6.2主要代码
Withdrawals.aspx.cs部分代码:
SqlConnectioncon=newSqlConnection();
con.ConnectionString="server=.\\sqlexpress;database=银行个人账户管理系统;integratedsecurity=true;";
if(con.State==System.Data.ConnectionState.Closed)
{
con.Open();
}
SqlCommandcmd=newSqlCommand();
cmd.CommandText=@"select*
from账户表
where账号=@uIDand密码=@pwd";
SqlParameterp=newSqlParameter("@uID",Session["UserID"].ToString());
cmd.Parameters.Add(p);
p=newSqlParameter("@pwd",this.UserPassword.Text);//验证输入框里的密码
cmd.Parameters.Add(p);
cmd.Connection=con;
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
if(dr["密码"].ToString()==this.UserPassword.Text)
{
if(con.State==System.Data.ConnectionState.Open)
{
con.Close();
}
con.ConnectionString="server=.\\sqlexpress;database=银行个人账户管理系统;integratedsecurity=true;";
if(con.State==System.Data.ConnectionState.Closed)
{
con.Open();
}
try
{
floatf1=float.Parse(this.withdrawalsMoney.Text);
floatf2=float.Parse(Session["userBalances"].ToString());
floatf3=f2-f1;
if(f3<=0)
{
this.ltTip.Text="";
this.withdrawalsMoney.Focus();
return;
}
//更新账户金额,同时添加交易记录
stringsql=@"update账户表
set余额=@newMoney
where账号=@userID
insertinto记录表
(账号,收支,金额,余额,时间,操作员)
values(@UserID,'取出',@Money,@Balances,@DateTime,
@AdminName);";
cmd=newSqlCommand(sql,con);
p=newSqlParameter("@newMoney",f3);
cmd.Parameters.Add(p);
p=newSqlParameter("@userID",Session["UserID"].ToString());
cmd.Parameters.Add(p);
p=newSqlParameter("@Money",this.withdrawalsMoney.Text);
cmd.Parameters.Add(p);
p=newSqlParameter("@Balances",Session["userBalances"].ToString());
cmd.Parameters.Add(p);
p=newSqlParameter("@DateTime",DateTime.Now);
cmd.Parameters.Add(p);
p=newSqlParameter("@AdminName",Session["adminName"].ToString());
cmd.Parameters.Add(p);
cmd.ExecuteNonQuery();
Session["userBalances"]=f3.ToString();
this.ltTip.Text="";
}
catch(Exception)
{
this.ltTip.Text="";
this.withdrawalsMoney.Focus();
}
finally
{
if(con.State==System.Data.ConnectionState.Open)
{
con.Close();
}
}
}
else
{
this.ltTip.Text="";
}
}
else
{
this.ltTip.Text="";
}
5.7收支明细
5.7.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 课程设计 银行 个人账户 管理 系统