VB课程设计银行存取款管理系统

上传人:无*** 文档编号:68642304 上传时间:2022-04-03 格式:DOC 页数:23 大小:2.11MB
返回 下载 相关 举报
VB课程设计银行存取款管理系统_第1页
第1页 / 共23页
VB课程设计银行存取款管理系统_第2页
第2页 / 共23页
VB课程设计银行存取款管理系统_第3页
第3页 / 共23页
点击查看更多>>
资源描述
辽 宁 工 业 大 学 可视化编程技术 课程设计(论文)题目: 银行存取款管理系统 院(系): 软件学院 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 助 教 起止时间:2012.11.26至2012.12.9 课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研窒学 号学生姓名专业班级课程设计(论文)题目银行存取款管理系统课程设计(论文)任务课程设计任务及要求:1、掌握VB程序设计语言的基础知识。2、设计所选择的题目,对具体功能进行详细的分析,根据系统的要求在VB中设计窗体界面,使其合理化。3、了解VB与数据库的连接方法。4、编写代码,实现系统的功能。5、通过调试程序,加深对VB编程的基本技巧及方法的理解。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计论文。指导教师评语及成绩成绩: 指导教师签字: 2012 年 12 月 13日辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)目 录第1章 课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章 课程设计内容22.1 系统功能设计22.2 系统详细设计2.3 系统运行与测试第3章 课程设计总结参考文献第1章 课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是学生学习完可视化编程技术课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。软件:Microsoft Visual Basic 6.0 Microsoft Access 20031.3 课程设计的预备知识熟悉Visual Basic 6.0程序设计的基本语法知识及常用技巧。1.4 课程设计要求按课程设计指导书提供的课题,每个小组设计一个完整的管理系统应用程序。要求根据规定设计系统的具体要求,按照应用程序的设计步骤和VB的基本知识应用程序的分析与实现。应根据基本学时分配合理安排设计时间,并独立完成各方面的设计。选择同一题目的同学,可以共同协作完成一个应用程序的开发任务。要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。在界面设计中,需画出每个窗体的布局,进行属性说明,杜绝雷同。第2章 课程设计内容2.1系统功能设计2.1.1 系统功能以VB+Access组合,实现银行系统活期存取款管理,要按现有的实际利率计算利息,储户数据表至少应包括:帐号、用户名称、身份证号、密码、存取款日期、支出或存入金额(存入为正,支出为负,初值为0)、结余金额(初值为0)等,限在取款时才计算利息并转入存款本金。在数据表中每一次存取款都重新生成一条新记录,这样数据表中保存着历史存取款信息,可供查询。分析模拟银行银行存取款管路程序,主要有“添加删除储户信息”,“查询修改出乎信息”,“录入用户存取款记录”,“计算储户利息”共四项。系统可在用户取款时计算其活期存款利息(每天按0.2%计算利息)。要求:(1)在Access中创建“储户信息”表,由所有储户信息构成,此表结构定义如下:账号,用户名称,身份证号,密码,结余金额,存取款日期,存入金额,取出金额。(2)能随时添加新储户或删除原有储户。(3)能随时修改已存入储户的信息。(4)能随时查看指定储户的信息(包括其存取款记录)(5)能将储户当前存款金额加入储户本金。(6)能在储户取款时计算利息并存入本金。2.1.2 系统功能模块设计开始连接数据库添加删除数据查询数据更改数据新建储户删除储户添加储户存款取款信息显示储户存取款信息修改储户身份信息图2.1系统功能模块图2.2系统详细设计2.2.1银行存取款管理系统模块设计1.界面设计(1)基本原理:建立程序设计与Access数据库连接,用SQL语句实现程序对数据库查找,添加,删除,更改。查找:调用ADO控件的RecrodSource属性,确定具体可访问数据来源,用select语句进行查找。添加:调用AddNew方法,在记录集中加入一条新数据,再用Update方法更新修改。删除:调用Delete方法,删除记录集中已选定的一条数据。修改:用ADO控件将命令文本与数据库中其对应的数据绑定,在文本框中修改,并用Update更新,对数据库数据进行修改。 (2)总体设计:ADO控件连接Access数据库SQL语言实现修改2.代码设计Private Sub chaxun_Click() 查询信息 Form3.ShowEnd SubPrivate Sub chuhu_Click() 添加新储户 Form2.ShowEnd SubPrivate Sub cunkuan_Click() 存取款 Form5.ShowEnd SubPrivate Sub tuichu_Click() 退出 EndEnd SubPrivate Sub xiugai_Click() 修改储户信息 Form4.ShowEnd Sub 2.2.2银行存取款管理系统模块设计1.界面设计1)使程序与数据库连接,实现程序对数据库的修改与查询: 利用ADO控件建立联系,通过修改命令文本框的DataSource和DataField属性,使命令文本框与数据库绑定;通过修改DataGrid的DataSource属性,使数据库的所有信息显示在窗体中。 (2)通过对主窗体菜单的Click打开“添加删除新储户”、“储户信息”、“存款与取款”窗体。2.代码设计Private Sub Command1_Click(Index As Integer) Dim ask As Integer Select Case Index Case 0 添加 Adodc1.Recordset.AddNew 添加新用户 Case 1 删除 ask = MsgBox(是否删除已有储户信息!, vbYesNo) If ask = 6 Then Adodc1.Recordset.Delete 删除当前数据 Adodc1.Recordset.MoveNext 下一条记录 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast 如果读 到数据尾部,指针定义到最后一条记录 End If Case 2 更新 Adodc1.Recordset.Update 确定当前修改并保存到数据源 Case 3 放弃 Adodc1.Recordset.CancelUpdate 取消Update对记录的修改 End SelectEnd SubPrivate Sub Command2_Click(Index As Integer) Select Case Index Case 0 首记录 Adodc1.Recordset.MoveFirst 读取数据库首记录 Case 1 上一条 Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst 读取上一条记录 Case 2 下一条 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast 读取下一条记录 Case 3 尾记录 Adodc1.Recordset.MoveLast 读取数据库尾记录 End SelectEnd SubPrivate Sub Command3_Click() 结束 Unload Me 结束当前窗体 Form1.Show 返回主窗体End Sub窗体-储户添加与删除: (4)查询储户信息是SQL语句在数据库中按用户名称查询其身份信息和存取款信息。SelectFromWhere程序段如下:Private Sub Command1_Click() 查询 If Text1 Then 设置数据源 Adodc1.RecordSource = Select * From 储户信息 Where 用户名称 = & Text1 & 确定访问数据来源,并选择出用户名为文本框中名称的所有数据 Else Adodc1.RecordSource = Select * From 储户信息 对于未指定信息查询 End If Adodc1.Refresh 刷新ADO控件的连接属性并重新建立记录集对象End Sub窗体-查询:(5)修改储户信息是对数据库中储户的身份信息进行修改。程序段如下:Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 首记录 Adodc1.Recordset.MoveFirst 读取数据库第一条记录 Case 1 上一条 Adodc1.Recordset.MovePrevious 读取上一条记录 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst 如果当前为数据源开始,指针定义到第一条数据 Case 2 下一条 Adodc1.Recordset.MoveNext 读取下一条记录 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast 如果当前为数据源尾部,指针定义到最后一条数据 Case 3 尾记录 Adodc1.Recordset.MoveLast 读取数据库最后一条记录 End SelectEnd SubPrivate Sub Command2_Click() 更新 Adodc1.Recordset.Update 确定修改并保存到数据源End SubPrivate Sub Command3_Click() 返回 Unload Me 关闭当前窗体 Form1.Show 返回主窗体End Sub窗体-修改储户信息:(6)存款与取款是新加一条关于当前储户的一条存款或取款信息。程序段如下:Private Sub Command1_Click() 确定 Adodc1.Recordset.Update 保存修改End SubPrivate Sub Command2_Click() 返回 Unload Me 关闭当前窗体 Form1.Show 返回主窗体End SubPrivate Sub Command3_Click() 输入 Adodc1.Recordset.AddNew 添加新数据End SubPrivate Sub Command4_Click() 存入 Dim a, b As Long, c% 定义a、b为长整型 b = Text1.Text 将账号赋值到b Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find 账号= & b & 从记录首部开始查找账号为b的那一条数据 If Adodc1.Recordset.EOF Then MsgBox 无此账号!, , 提示 如果查找到记录尾部还是没有此账号,则弹出提示窗口 Else a = Adodc1.Recordset.Fields(结余金额) 在已找到那条数据中找到结余金额数据,并将此数据赋值给a Text8.Text = Val(Text5.Text) + a 当前存入金额加此账户上一次的结余金额计算出新的结余金额 End IfEnd SubPrivate Sub Command5_Click() 取出 Dim x, y, z, m&, e, f As Long Dim n As Date 定义n、p为日期,形式为“YYYY-MM-DD” Dim p As Date m = Text1.Text 将账号赋值到m Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find 账号= & m & 从记录首部开始查找账号为m的那一条数据 n = Adodc1.Recordset.Fields(存取款日期) 在已找到那条数据中找到存取从记录首部开始查找账号为m的那一条数据 p = Text7.Text 将当前取款日期赋值给p z = DateDiff(d, n, p) 计算当前取款日期与上一次存取款日期的天数之差 Adodc1.Recordset.Find 账号= & m & 从记录首部开始查找账号为m的那一条数据 f = Adodc1.Recordset.Fields(结余金额) 在已找到那条数据中找到结余金额数据,并将此数据赋值给f x = Val(Text6.Text) 将当前取出金额赋值给x,将文本框中的数字字符串改为数值 y = f * 0.0002 * z + f - x 计算利息并将利息假如本金再减去取出金额计算出此次取款的结余金额,将结余金额赋值给y Text8.Text = y 将y值写入到第八个文本框End Sub窗体-存款与取款:完整的源程序Form1:(主窗体)Private Sub chaxun_Click() Form3.ShowEnd SubPrivate Sub chuhu_Click() Form2.ShowEnd SubPrivate Sub cunkuan_Click() Form5.ShowEnd SubPrivate Sub tuichu_Click() EndEnd SubPrivate Sub xiugai_Click() Form4.ShowEnd SubForm2:(添加删除储户)Private Sub Command1_Click(Index As Integer) Dim ask As Integer Select Case Index Case 0 Adodc1.Recordset.AddNew Case 1 ask = MsgBox(是否删除已有储户信息!, vbYesNo) If ask = 6 Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Case 2 Adodc1.Recordset.Update Case 3 放弃 Adodc1.Recordset.CancelUpdate End SelectEnd SubPrivate Sub Command2_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.MoveFirst Case 1 Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast End SelectEnd SubPrivate Sub Command3_Click() Unload Me Form1.Show End SubForm3:(查询)Private Sub Command1_Click() If Text1 Then Adodc1.RecordSource = Select * From 储户信息 Where 用户名称 = & Text1 & Else Adodc1.RecordSource = Select * From 储户信息 End If Adodc1.RefreshEnd SubForm4:(修改)Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.MoveFirst Case 1 Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirs Case 2 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast End SelectEnd SubPrivate Sub Command2_Click() Adodc1.Recordset.Update End SubPrivate Sub Command3_Click() Unload Me Form1.Show End SubForm5:(存款与取款)Private Sub Command1_Click() Adodc1.Recordset.UpdateEnd SubPrivate Sub Command2_Click() Unload Me Form1.ShowEnd SubPrivate Sub Command3_Click() Adodc1.Recordset.AddNewEnd SubPrivate Sub Command4_Click() Dim a, b As Long, c% b = Text1.Text Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find 账号= & b & If Adodc1.Recordset.EOF Then MsgBox 无此账号!, , 提示 Else a = Adodc1.Recordset.Fields(结余金额) Text8.Text = Val(Text5.Text) + a End IfEnd SubPrivate Sub Command5_Click() Dim x, y, z, m&, e, f As Long Dim n As Date Dim p As Date m = Text1.Text Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find 账号= & m & n = Adodc1.Recordset.Fields(存取款日期) p = Text7.Text z = DateDiff(d, n, p) Adodc1.Recordset.Find 账号= & m & f = Adodc1.Recordset.Fields(结余金额) x = Val(Text6.Text) y = f * 0.0002 * z + f - x Text8.Text = yEnd Sub2.2.3 数据库访问技术在ASP中可以通过三种方式访问数据库:1、IDC(Internet Database Connector)方式;2、ADO(ActiveX Data Objects)方式;3、RDS(Remote Data Service)方式。这三种访问方式对数据库的访问都是由Internet Information Server完成的。通过Web浏览器用HTTP协议向IIS(Internet信息服务器)发送请求,IIS执行对数据库的访问,并返回一个HTML格式的文档响应。下面分别说明:1、IDC(Internet数据库接口)IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。IDC使用两种文件来控制如何访问数据库以及如何创建返回的Web页面:IDC (.idc)文件和HTML扩展(.htx)文件。.idc文件必须包括ODBC数据源(Datasource)、HTML扩展文件的文件名(Template)以及要执行的SQL语句(SQLStatement)。此外还有许多可选字段,可以根据需要选用。.htx文件是带有用或括起来的附加标记的HTML文档,IDC用这些标记将动态数据添加到文档中。在.htx文件中有六个关键字(begindetail、enddetail、if、else、endif和%z),用来控制数据库中的数据怎样和.htx文件中HTML格式进行合并。数据库列名说明HTML文档中什么数据被返回。要执行IDC查询,通常的做法是在HTML文件中嵌入一个.idc文件的连接。例如,我们可用下面的HTML语句向Web服务器发出请求,要求执行idctest.idc文件:查询 当Web服务器接到请求后,就调用Httpodbc.dll(IDC),与一定的数据源相连并把SQL命令传给数据库。当SQL语句被执行后,IDC把返回的数据融入到.htx文件中。IDC再把这个文档返回给Web服务器,Web服务器再返回给浏览器。2、ADO(ActiveX数据对象) ADO访问数据库,更像编写数据库应用程序。它把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。ADO建立了基于Web方式访问数据库的脚本编写模型,不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。ADO使用本机数据源,通过ODBC访问数据库。这些数据库可以是关系型数据库、文本型数据库、层次型数据库或者任何支持ODBC的数据库。主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。相对于访问数据库的CGI程序而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通过连接池(Connection Pool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库应用程序。 一般使用ADO访问数据库的ASP脚本程序应该使用Connection对象建立并管理与远程数据库的连接,用Command对象提供灵活的查询,用Recordset对象访问数据库查询所返回的结果。这三者是ADO的最核心的对象。与IDC一样,运行该数据库访问脚本的通常做法是在HTML文件中嵌入一个.asp文件的连接。如,用HTML语句向Web服务器发出请求,要求执行intels.asp文件:查询 3、RDS(远程数据服务) RDS在IIS 4.0中,与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。ADO虽然能够提供非常强大的数据库访问功能,但是它不支持数据远程操作(Data Remoting)。它只能执行查询并返回数据库查询的结果,这种结果是静态的,服务器上的数据库与客户端看到的数据没有活的连接关系。如果用户端需要修改数据库,就必须构造修改数据的SQL语句,并执行相应的查询。而RDS支持数据远程操作。它不仅能执行查询并返回数据库查询结果,而且可以把服务器端的数据“搬到”用户端修改,并调用一个数据库更新命令,将用户端修改的数据写回数据库,象使用本地数据库一样。RDS的底层是调用ADO来完成的,同样具有ADO的易用性,区别仅在于RDS需要与数据绑定控件一同使用,比如Sheridan的ActiveX DataBound Grid控件。RDS在ADO的基础上通过绑定的数据显示和操作控件,提供给客户端更强的数据表现力和远程数据操纵功能。可以说RDS是目前基于Web的最好的远程数据库访问方式2.3 系统运行与测试黑盒测试:等价类划分,边界值分析法,错误猜测法,因果图法,比较测试法等价类划分:分析规格说明的基础上划分等价类,列出等价类,然后从等价类中选出有代表性的数据进行用例测试,如果某一类中的一个用例发现了错误,那么这一类中的其他用例也能发现同样的错误。有效等价类和无效等价类。效等价类:是由那些对程序规格说明有意义的、合理的数据数据所构成的集合;无效等价类:是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合划分等价类的依据:正和反边界值分析法:其测试用例来自与等价类的边界,是对等价类划分方法的补充。错误猜测法:猜测被测程序在那些地方容易出错,然后针对可能的薄弱环节设计测试用例。依赖于人们的先验知识,因此,错误猜测法一般作为辅助测试用例设计方法使用。果图法:有因必有果比较测试:由多个开发团队开发出了更多的软件版本,比较测试结果。一般用1,2。 白盒测试:逻辑覆盖:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖,发现错误的能力从弱到强。第3章 课程设计总结这次课设我设计的题目是银行存取款管理,通过本次课设,我学会了如何编写VB程序访问数据库,比如用ADO控件,通过修改命令文本的属性,是其与它在数据库中相应信息的绑定,通过修改文本框的信息,对数据库直接修改。并应用SQL语言,对指定信息的查询。调用AddNew和Delete实现在数据库中添加或删除信息。这次收获最大的是学会了将程序和数据库连接,实现对数据库中信息的修改和查询。当然,其中不是一帆风顺的,最大的是在使用Find语句时出现多次无法找到需要信息的情况,在老师和同学的帮助下,成功解决了问题,实现了利息的自动计算,方便了使用者。但是由于时间和自己对VB的掌握程度有限没有将程序编写的很完美使用。在这次课设中,我在以前学习VB的基础上,有了新的知识掌握和对以前知识的强化。而且对VB这个编程软件有了新的认识,可视化的操作使操作更加方便;通过修改控件的属性可以省略一些程序语言的书写,方便了编程者,但是在调试程序时会出现不方便,不能将错误直接找的。本次课设崔然已经结束,当时在日后还应该加强VB软件的使用,毕竟还它是一种顺应时代的一种工具。参考文献1甘雷,中文Access 2002标准教程,北京希望电子出版社2.肖红.VB语言程序设计实验指导与习题解答.北京:人民邮电出版社3.Thearon Willis.VB数据库入门经典. 北京:清华大学出版社 4.石志国.VB数据库编程. 北京:清华大学出版社20
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!