毕业设计(论文)图书管理系统(.net)论文.doc

上传人:仙人指路1688 文档编号:3978215 上传时间:2023-03-30 格式:DOC 页数:29 大小:1.04MB
返回 下载 相关 举报
毕业设计(论文)图书管理系统(.net)论文.doc_第1页
第1页 / 共29页
毕业设计(论文)图书管理系统(.net)论文.doc_第2页
第2页 / 共29页
毕业设计(论文)图书管理系统(.net)论文.doc_第3页
第3页 / 共29页
毕业设计(论文)图书管理系统(.net)论文.doc_第4页
第4页 / 共29页
毕业设计(论文)图书管理系统(.net)论文.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《毕业设计(论文)图书管理系统(.net)论文.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)图书管理系统(.net)论文.doc(29页珍藏版)》请在三一办公上搜索。

1、目 录前言1第1部分 需求说明21.1一般用户21.2 注册用户21.3系统管理员21.4图书管理员2第2部分 系统设计32.1用例图32.2 实体关系图32.3 类图42.3.1 book类42.3.2 other类52.3.3 users类52.3.4 database类52.4 活动图62.5 数据库设计72.6 前台界面设计及CSS样式92.6.1 前台界面设计92.6.2 CSS样式10第3部分 系统实现103.1 存储过程103.2 中间逻辑代码12第4部分 系统的集成与部署144.1系统简要介绍144.2 系统运行测试144.2.1登陆测试154.2.2专项导航测试154.2.3

2、用户查询测试154.2.4图书管理员164.3 系统部署184.3.1部署194.3.2安装与调试20第5部分 系统使用手册225.1注册用户使用手册225.2管理员使用手册23总结26参考文献28前言随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,它的数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。同时网络技术和多媒体技术的快速发展,为网上书城,电子书籍的发展提供了可靠的技术保障,电子书是一种“无纸的书”,没有传统书籍的纸质介质。传统书籍的信息是以“原子”形式存在的,而电子书的信息是以“数字”形式存在的。阅读以及其它的操作变得更

3、为简单。但为了更好记录知识,书面记载仍是不变的事实,这种传统人工的管理方式存在着许多缺点,如:效率低、保密性差, 一方面导致管理员、借书者对图书室藏书情况不了解,图书室究竟有哪些图书也不知道;另一方面图书管理员对图书管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,耗费劳动力大,难于避免错误的产生,如借书证挂失后,仍有少数学生冒用已挂失的借书证借出图书,造成图书外流。如何管理好一个图书馆(书籍的借还,书籍的增删等),单以书面无序的记载,不仅不方便管理,而且安全性也很低,为此图书管理系统便应运而生,它使图书的管理,维护,借还操作等等变得更为简单方便

4、,它可以使人们在网上便可以详细地了解到本图书馆所收藏的书籍,所有借书者的借阅情况,归还情况,缺书的登记等。极大地提高资源的标准性和信息的使用率。系统采用面向对象的三层体系结构设计,在Visual Studio.NET 2003开发环境下利用ASP.NET技术,C#语言进行编程,使用的数据库为SQL Server2000。在本程序中全部使用存储过程代表以后的SQL语句,存储过程由一组预先编译好的SQL语句,将其放在服务器上,由用户通过指定存储过程的名字来执行它。存储过程在第一次执行时进行编译,然后将编译好的代码保存在调整缓存中便于以后调用,这样可以提高代码的执行效率。对于系统的现存的不足,储如安

5、全方面,代码冗余,代码执行效率不高,划分不够精确,页面不够美观,CSS样式过于简单,功能重复等,都有待在以后的升级中改进或系统管理员本人就可以将其完善。第1部分 需求说明图书管理系统主要是为了简化对于图书借阅,书籍管理,用户管理的操作,但同时对于图书管信息的发布,最新信息的采集,用户意见的管理等都有要求,对于不同的角色他们的功能是不相同的。1.1一般用户 一般用户指的是只做浏览已发布的网页的操作,他们具有的功能主要为浏览新闻,查看图书管的信息,发表自己的意见,不需要进行注册。同样,他们也具有查询图书馆藏书,以及根据特定的信息来查询某本图书,了解某本图书和详细信息。1.2 注册用户 注册用户拥有

6、自己的借书证,同时也具有ID和密码。这种类型用户的用户名不能随意更改,在办理借书证时已经确定。用户可以通过网页登陆到个人信息,在该页面可以修改个人信息,查询自己的借阅历史等一系列信息。用户也可以利用页面续借图书。注册用户具有一般用户的所有功能。1.3系统管理员 系统管理员可以管理整个图书管理系统,以及对系统的维护。对用户,他具有添加,删除,修改的功能。用户级别的变更,用户信息的查看以及修改。对新闻的添加,删除,修改,同时也具有对站内新闻的添加,删除以及更新,因此它的功能十分强大。1.4图书管理员 图书管理员的功能部份是整个功能的核心。具有图书的借出与归还,图书的添加,修改,以及维护。图书的查询

7、,用户借还记录的管理都由图书管理员模块完成。第2部分 系统设计图1 用例图2.1用例图图2 实体关系图2.2 实体关系图2.3 类图 图3 类图2.3.1 book类book类共有10个公有方法,用来对书籍信息表进行操作。(1) BookAdd():公有方法,向书籍表中添加数据时将使用该方法。返回值为空。(2) BookUpdate():公有方法,修改Book表中的数据。返回值为空。(3) EditBook():公有方法,更新Book表中的数据。返回值为空。(4) GetBookInfo():公有方法,通过特定参数得到相应的Book表中的数据。返回值为object类型。(5) SumBook(

8、):公有方法,汇总图书。返回值为object。(6) SearchBook():公有方法,通过指定条件查询出相应的book表中的数据。返回值为object。(7) GetAllBook():公有方法,得到所有book表中的信息。返回值为object。(8) Book():构造函数。(9) DgBind():公有方法,根据前台传过来的参数来决定方法的使用。返回值为bool类型。(10) SelqueShu():公有方法,根据用户ID来查看用户所缺的书,返回值为bool类型。2.3.2 other类other类有几个公有方法。用来对复杂数据进行操作。(1) GetFileName():公有方法,用

9、来得到上传文件的名字。保证上传的文件名不能相同。返回值字符串类型。(2) RunBind():公有方法,通过特定的参数来执行绑定任务,返回值为Object类型。2.3.3 users类users类共有六个公有方法,与用户表相关的操作通过此类实现。(1) userLogin():公有方法,用户登陆。返回值字符串类型。(2) updatauser():公有方法,更新表中相应数据,返回值为空。(3) EditUser():公有方法,编辑更新用户表中的想关数据。返回值为空。(4) GetUserInfo():公有方法,得到符合条件的用户的信息。返回值为object类型。(5) ChangPwd():公

10、有方法,修改密码。返回值为空。(6) LogIn():公有方法,提供用户登陆。返回值为空。2.3.4 database类dataBase类共有四个私有方法,七个公有方法。它是一个基类。(1) OpenConn():私有方法,打开与数据库的连接。返回值为空。(2) CloseConn():私有方法,关闭与数据库的连接。返回值为空。(3) CreateCommand():公有方法,创建SqlCommand对象。返回一个object类型的数据。(4) CreateDataAdapter():公有方法,创建一个SqlDataAdapter对象,返回一个object类型的数据。(5) CreateDat

11、aReader():私有方法,创建一个DataReader对象,返回值为object。(6) CreateDataSet():私有方法,创建一个DataSet数据集。返回值为object。(7) GetValue():公有方法,获得一个Value值。返回值为object。(8) MakeParam():公有方法,关于存储过程的调用。返回一个object类型的数据。(9) MakeInParam():公有方法,不带输出参数的引用存储过程的方法,通过引用MakeParam()方法。返回值为object类型。(10) MakeOutParam():公有方法,带输出参数的调用存储过程的方法,通过引用M

12、akeParam()方法实现。返回值为object类型。(11) DbDdl():公有方法,有关DataGrid和DataList的绑定。返回值为空。2.4 活动图图4 登陆图5删除用户图6 查询图书图8 添加图书图7 编辑用户2.5 数据库设计书记信息表 表1NO列名列ID类型长度NULL缺省值说明备注1书编号BookIDint4主键PK2书名BookNamevarchar203作者Anthorvarchar204出版时间PubTimedatetime85出版社PubNamevarchar206类型IDTypeIdint4外键fk7总数量Numint48简介Introvarchar1009封

13、面Imagesvarchar5010书籍价格Pricemoney11点击次数OnClickint4借还记录表 表2NO列名列ID类型长度NULL缺省值说明备注1借出IDReadIdint4自增1PK2用户IDUserIdint4外键FK3书籍IDBookIdint44借书状态Statechar15借出时间GetTimedatetime86应还时间GetTimedatetime8用户表 表3NO列名列ID类型长度NULL缺省值说明备注1用户IDUserIdint4主键PK2用户名UserNamevarchar503用户级别IDUtypeIdchar1外键FK4用户EmailEmailvarcha

14、r505用户地址Addressvarchar506电话号码telvarchar207用户图片Imagechar108真实姓名RealNamevarchar50 用户级别表 表5NO列名列ID类型长度NULL缺省值说明备注1用户级别IDUtypeIdchar1主键PK2用户级别名UtypeNamevarchar503该级别所能借的图书数量CanNumint4归还期限KeepDaychar10 缺书表 表6NO列名列ID类型长度NULL缺省值说明备注1书名bookNamevarchar20可为空2作者authorvarchar20可为空3出版社bupNamevarchar20可为空2.6 前台界面

15、设计及CSS样式图9 用户借书2.6.1 前台界面设计图10 图书信息显示用户所欠的图书, 如图10所示。当用户在规定的时间内没能及时归还图书时,就会显示用户欠书用户借书和还书都通过他来实现,当用户超过3本书,会提示该用户不能再借图12 CSS样式表 图11 添加图书2.6.2 CSS样式如图12所示,是系统运用到的样式表,它规定了表格中的字体的大小为14px,去除超级链接的下划线,以及字体的颜色变为黑色,当单击某个超级链接时单击的字体的不变色。第3部分 系统实现3.1 存储过程存储过程由一组预先编译好的SQL语句,将其放在服务器上,由用户通过指定存储过程的名字来执行它。存储过程在第一次执行时

16、进行编译,然后将编译好的代码保存在调整缓存中便于以后调用,这样可以提高代码的执行效率。存储过程同其他编程语言中的过程相似,有如下特点:接受输入参数并以输出参数的形式将多个值返回到调用过程或批处理。包含执行数据库操作的编程语句。向调用过程或批处理返回状态值,以表明成功或失败。存储过程的类型可以分为5类,系统存储过程,本地存储过程,临时存储过程,远程存储过程和扩展存储过程。我们用的最多的是本地存储过程,他是用户根据需要,在自己的普通库中创建的存储过程。创建存储过程的方法有两种,一种是使用企业管理器创建存储过程,另一种是使用分析器执行SQL语句,创建存储过程时,需要注意下列事项:1、只能在当前数据库

17、中创建存储过程。2、数据库的所有者可以创建存储过程,也可以授权其它用户创建存储过程。3、存储过程是数据库对像,其名称必须遵守标识符命名规则。4、不能将create proc 语句与其他SQL语句组合到单个批处理中。5、创建存储过程时,应指定所有输入参数和调用过程或批处理返回的输出参数,执行数据库操作的编程语句和返回至调用过程或批处理以表明成功或失败的状态值。在设计和书写存储过程中遇到了以下问题,但在老师以及同学的帮助下同时也找到了解决方法。问题1:带参数的存储过程的执行。解决方法:这个问题主要是存储过程的熟练不够。用的太小了,第一下还不能理解存储正确使用,不知道存储过程的参数是从哪传入的。如“

18、username varchar(50) ”,其实是在调用本存储过程的时候,就要把输入参数传给调用存储过程,这样就可以完成参数的传递。 问题2:模糊查询的存储过程,提示语法出错。解决方法:SQL语法没有掌握到家,在SQL语句中if后面不要括号,而且他的不等号是用“”来表示的,不是其它语言中的!,当语法都正确时,还是不能查询出数据来,为了检查select语句是否书写的正确,所以就利用了Print系统自带的方法,把查询语句给显示出来。这还是第一次用到,当查询语句显示出来的时候还是没有错,为什么为查不出来数据,后来证实数据类型出了问题,模糊查询最好用varchar的类型。问题3:在添加数据的时候,怎

19、么样跳过自动增长列?解决方法:在表中添加数据的时候,有些字段不想添加数据的时候,我们可以列出数据字段来,让输入参数与字段一一的对应,这样就能添加成功了,一一对应有两咱方法,一种是直接对应,一种是间接对应。问题4:级联查询时,提示参数指向不明确。解决方法:查看存储过程中的if语句表达式是否正确。或查看所用表的定义是否正确以及使用时有没有明确就明是哪个表中的相应字段。问题 5:如何返回所影响的行数?解决方法:当查询本用户所借的图书的时候,我们是用存储过程来查看本用户的所用记录,最后通过所影响的行数来查看记录。“select count(*) form 表名”,count方法是专门来统计返回行数的。

20、 问题6:更新图书的时候出现所有的图书资料都一样。解决方法:本以为他没有语法错误,而且还提示成功了,可他去更新了所有的图书资料,这主要是因为where 条件语句没有写上。当加上where条件时,就会解决。问题7:如何在存储过程中实现时间的比较解决方法:某些功能需要使用数学运算,如借书的时候还书日期是借书日期加上一个该书的外借天数,此处就得查询出来后进行加法运算,此时经常性的提示数值类型不能执行加法运算。解决方法:查看相加的两字段的数值类型是否为可执行相加的数值类型,筛选出来的数据可以先定义一个参数来接受在执行相加,参数的定义参见上面说到的。也可以用这种方法解决,利用系统时间getdate()+

21、天数,这样也能解决图书归还的时间问题。问题8:查询不出数据解决方法:在SQL中,当我们查询的时候,数据类型可以不与表中的字段类型相一致,像在写模糊查询的存储过程的时候,数据类型相一致反而查不出来,使用可变的类型,反而成功了。3.2 中间逻辑代码中间层 (Middle Tier)也称作“应用程序服务器层或应用服务层”,是用户接口或 Web 客户端与数据库之间的逻辑层。典型情况下 Web 服务器位于该层,业务对象在此实例化。中间层是生成并操作接收信息的业务规则和函数的集合。它们通过业务规则(可以频繁更改)完成该任务,并由此被封装到在物理上与应用程序程序逻辑本身相独立的组件中。中间逻辑代码是系统实现

22、其功能的主要手段,代码是否正确决定了系统是否能够正常运行。在编写代码的过程中不可避免了以下提到的问题。通过对问题的解决更加巩固了自己所学的知识。过程中所暴露的问题更明确了自己的不足。问题1:当点击图书类型的时候不能显示。解决方法:先看超连接是不是有错,再看有图书类型的ID有没有传过去。先用”Response.write(“bookID”)”,来输入 BookId,结果没能输出成功,后来发现,在前台Html代码有无错误。问题2:参数传递出错。解决方法:我们在调用一个方法的时候,结果提示参数出错,在参数个数相同,类型一致的情况下,为什么为更新不成功,原来在传参的时候,把参数的顺序给弄错了问题3:方

23、法调用出错。解决方法:在调用方法之前我们要先写头文件,这样才能调用,结果头文件写完之后 ,类是调出来了,但是类中的方法怎么也调不出来,后来在老师的帮助下,发现是用户的自定义控件名是类名相同了,结果什么方法也没用,只要在头文件前加上一个变量,在调用的时候,把那个变量也一起加上,这样就可以解决了。问题4:前台信息绑定时提示数据类型无法转换。解决方法:查看数据访问层定义触发器就是定义的数据类型和数据库中是否相符。查看返回信息的方法在接收数值是转换有无错误。查看相关存储的过程执行后的索引是否能够与接收时对应。查看前页面表示层接收返回值时有没有进行适时的类型转换。问题5:点击缺书登记的时候,产生验证。解

24、决方法:这主要是登陆控件里的验证,我们只要将缺书登记的按钮的验证属性改为false。问题6:页面文字不一样。解决方法:虽然在控制中都使用了CSS样式,但页面还是没有整齐,不好看,这主要是因为在页面中还没有拖CSS样式。问题7:往页面中拖入控件时浏览的时候控件显示对齐。解决方法:查看前台页面布局表格时,表格设置的对齐方式是否一致,大部份可以设置为顶端对齐。控件的对齐方式也得注意。当这些设置正确的时候,还是不能对齐的话,就到用户控件中去改,在HTML中将表格的高度都去掉,这样就可以了。问题8:Sql Server不存在或拒绝访问。解决方法:查看web.config文件中appsettings结点是

25、否有借。服务器名,数据库,用户名,用户密码是否有错,以及在在使用的时候key是否有偏差。在使用的时候查看数据库中的表是否存在,以及使用方法是否正确。服务器可以用一个小点来代替,就表示本机的意思。问题9:时间类型的参数用什么来接收。解决方法:当从前台页面传入时间时,在方法中用什么类型的参数来接收,本以为用string类型就可以了。但还是出错了。提示出错。可以用System.Datatime来接收 ,这样就行了。 问题10:怎么样将通过ID来显示类型。解决方法:像怎么样从数据库中用0和1表示的男和女在DataGrid控件中显示男和女。而非数据,可以先从数据库中先读出数据,然后再用if语句来判断,再

26、来代替就行了。第4部分 系统的集成与部署4.1系统简要介绍系统分为四个模块:一般用户模块,注册用户模块,系统管理员模块,图书管理员模块。每个模块负责的功能不同,通过用户登陆时的用户级别登陆到相关的功能页面进行操作。每个模块之间相互独立,不用进行信息间的传递。4.2 系统运行测试4.2.1登陆测试图14 登陆失败图13 登陆界面图15 登陆成功注册用户,图书管理员,系统管理员想使用自己的特有功能都必需完成登陆。当输入的用户名,密码,或者用户类型有误时都会提示登陆失败。这样对系统的安全性有害,都只会给出如图13的错误提示。当单击确定后会返回到首页要求重新登陆。当用户登陆成功时将会登陆到相应的功能页

27、面。如图15所示。4.2.2专项导航测试 图16 类型查询 图17 文学类图书图15 无图书当用户在浏览页面的时候,会有一个关于图书类别的专项导航如图16,当用户单击其中任一类别时就会筛选出相应类别的所有图书分页显示在页面上如图17。 图18 无书图当没有选中类型的相关图书则显示如图18,用户可以登记缺书,记录下自己要的图书。4.2.3用户查询测试 图19 查询图书 图19 查询图 图20 书名查询 图19 搜索图 图20 开始搜索用户浏览页面的时候可以按书名,作者中的一个查询相关图书如图19。 图21 查询结果图当如图20所示显示出符合要求的图书时,只要单击详细,便看查看图书的详细信息。如图

28、21所示。4.2.4图书管理员图22 图书管理员功能图书管理员与一般用户的界面不同,系统管理员主要完成的是对用户和系统的一些操作,具有整个系统最高的权限。它们功能界面如图22所示。图书管理员可以对借阅图书管理。如图23所示。图23 用户借书当用户借阅的图书超过3本的时候,就会提示本用户超过了3本图书,以不能再借了。如图24所示。图24 用户多借当用户归还图书的时候,为了防止用户借还,当用没有借本书的时候,来还书,系统会给管理员提示,如图26所示。如果用户归还的是本书,就会提示归还成功,并将本人借本书的状态从借阅改为已归还。 图25 用户还书 图26 用户没借本书单击添加用户的按钮时进入添加用户

29、的界面。如图27所示。当添加的用户已存在时验证控件会提示用户已存在。否则就会提示添加成功。图27 添加用户当单击删除用户时管理员直接点删除按钮,点完后,他会提示给管理员是不是真的删本用户,如果管理点确定,这样方可删除这用户,这样设计的好处是,怕管理员进行误删。单击取消的时候就不会删除本用户。如图28所示。 图28 删除用户管理员可以查询用户,有两种查询方法,按用户ID查询,按用户名进行查询,本查询都是模糊查询,管理员可以非常方便的查询到自己想要查找的用户。如图29所示。 图29 查询用户管理可以方便的查看到没能及时归还图书一人。如图29所示。 图30 用户欠书图书的添加,管理员可随时添加图书,

30、当管理员所填的图书的ID在数据库中存在的话,就会提示管理员,此ID已存在。否则就会提示添加成功。如果31所示。 图31 添加图书缺书查看,管理员可随时留意用户所登记缺少的图书,这样可以扩大图书库存量。如图32所示。 图32缺书查看4.3 系统部署4.3.1部署第一步,打开文件-新建项目-安装和部署项目-web安装项目-选择好放保存路径-添入解决方案。 图33 开始打包第二步,选择web应用程序文件夹-(virtualDirectory)虚拟目录(要与文件名一致)项目输出选择主输出和内容文件,添加许可协议文件。图34 添加要打包的文件 图35 添加要许可协议 图36 添加文件第三步,完成。 图3

31、5 打包完成4.3.2安装与调试 图37 开始安装 图38 正在安装 图39 完成安装图40 安装成功第5部分 系统使用手册 图41 登陆及用户功能使用系统的分为,一般用户,注册用户,管理员。一般用户的功能大都体现在浏览页面上。其它的三种用户都具有相应的实际操作。5.1注册用户使用手册当用户输入正确的用户名,密码及用户级别时会转到相应的功能页面。如图41所示,一般用户具有查看个人信息,密码修改,借阅记录等功能。图42 密码修改当用户单击个人信息后,就会转到个人信息页面,该页面将显示用户的详细信息。以及该用户的借还信息,同时显示用户正在借的图书。当用户单击密码修改时,会要求用户两次输入新密码,由

32、于是登陆用户没有要求输入旧密码,这是不安全的,将做出修改。两次输入密码必需相同,否则就不能通过验证控件的验证。正确输入后单击修改按钮就会更新相应表中数据,单击返回将返回上一页。 图43 借阅记录当用户登陆成功之后,才可以查看自己的借书记录,如图43所示。图44 缺书登记当用户在查询图书的时候,没有找到自己想要的图书,这时他就可以进行用户缺书登记,点缺书登记按钮就会出现一个表格,让你来进行填写,如图44所示。5.2管理员使用手册图45 添加用户当管理员进入相应页面时会显示出管理员的所有功能,如用户管理,书籍管理,用户借还,缺书查看,用户欠书等。用户填写相关信息后单击“确定”按钮完成添加,当用户名

33、已存在时,验证控件会自动返回错误提示。用户点击浏览可以在本机上选择想要上传的图片,单击“上传图片”后,所要上传的图片会显示在图片框里。当用户没有上传图片时,系统会自动用已存在的“no.jpg”来代替。点击“取消”可以重新填写。 图47 编辑用户图46 删除用户当用户单击“删除”按钮时,会提示是否真的要删除本用户,如果点确定,就删除,点取消,就不会删除本用户。单击“编辑”可以查看用户的详细信息以便确认。如图46所示。当管理员想修改用户个人信息的时候,就可以从这里进行修改,单击“取消”按钮可以返回上一页。查询用户分为,“用户名”,“用户ID”。单击“注册时间”显示如图48提示输入时间,如果输入的时

34、间格式错误验证控件会提示出错要求重新输入。图48 按用户名查询单击“用户名”则是按用户的真实姓名和用户名进行模糊查询,当用户名和真实姓名输入的都为空时,将自动查询出所有的用户,输入完成后单击“确定”按钮便可完成查询,查询结果在下方显式,如图49所示。 图49 查询结果图50 借还操作管理员对图书的管理,包括对图书的添加,删除,图书资料的修改,以及图书归还情况等。单击“借还管理”可以对图书进行借还,单击“图书管理”可以进行查找和更新图书信息,添加图书。如图50所示,选中状态后,单击“确定”就可以对图书进行相应状态的操作,选中“借出”则会对图书进行外借操作,选中“归还”进行的则是图书的归还操作。单

35、击“重置”则可以重新添写相关内容。图51 图片上传如图51所示,当单击“浏览”后可以浏览本机的文件用以上传图片,选中文件后,单击上传图片,可以将图书上传到服务器上,同时图片框中会显示上传的图片,单击“添加”按钮完成添加图书的操作,单击“重置”可以重新添加相关信息。 总结通过这几个月的学习,加深了我对.NET的Web应用程序设计的认识。理解了三层体系结构的特别,而且更好的掌握C#语言,理解方法的调用和类的封装,继承,给我影响最深的是方法中参数的传递。以前总认为方法的参数很难理解,是很难做到的事情,但做了个系统之后,才明白,参数的传递也是很简单的。现在来回顾一下方法,方法在使用之前必须定义,需注意

36、的是定义方法只是对方法功能的描述,方法并没有执行,要执行方法必须要调用它。方法的定义格式,方法修饰符 数据类型说明符 方法名(形式参数说明列表)方法定义的第一行称为方法头,“方法名”必须是一个有效的标识符。“数据类型说明符”是一个由逗号分隔开的列表,在其中定义了方法的每个参数的类型和名字。方法调用时必须为该方法定义的每个参数指明一个参数值,并且这些参数值出现的顺序也必须和该方法所定义的参数顺序相同,而且调用方法给出的这些参数值的类型也必须和被调用方法的对应参数类型相一致,方法的返回值,则方法中必须有一条“return(表达式)”,语句中的表达式就是要返回的值,如果少了这语句,将会出现编译错误。

37、如果方法不返回任何值,应在定义方法时把数据类型说明符定义成为“void”。方法头不是一条语句,其后不能跟分号“;”。如果方法是没有返回值的方法,在方法调用只能作为一条语句;如果方法有返回值,方法的调用相当于一个同类型的数据,可以作为表达式或表达式的一部分参与运算。参数的传递有值传递,引用传递和输出参数,在本系统中我们用的最多的是值传递,当使用值传递的方式来传递参数时,实参把值复制一分传给形参,形参接收了实参的值后与实参已不再存在任何联系。在方法中对形参的修改不会影响到对应的实参,这种传递方式又称为单向传递。在C#中属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。它必须返回

38、属性类型的值。当引用属性时,除非该属性为赋值目标,否则将调用 get 访问器读取该属性的值。只带有 get 访问器的属性称为只读属性。在属性声明中,get 和 set 访问器都必须在属性体的内部声明。视图的使用,由于系统在筛选数据时大多数情况下并不基于一个表,由此视图的重要性便显现出来,用T-SQL语句创建的视图具有很大的灵活性,但在视图的创建过程中要注意使用的数据和筛选的条件。在写存储过程中给我影响最深的是那个模糊查询,刚开始SQL语法都不记得,写的很乱,错误百出,在老师的指导下,完成了模糊查询,当从表中读取数据的时候,我们自己定义的数据类型可以不与表中的数据类型相一致辞,这也是第一次用到,

39、在进行模糊查询的时候,我们最好把变量的数据类型定义为varchar类型,因为他是最适合模糊查询的类型,从这个存储过程中我们可以学到SQL中的很多语法,在SQL中要用到选择语句时,我们不需要在if后面加上括号,而且他的不等于是用来表示的,我们在定义一个变量后,如果来执行他也是一个难点,刚开始只写了exce变落量名 没有提示语法出错,但就是什么出执行不出来,后来把他变成exec(变量名)这样就好了。所以一定要认真。对于三层体系结构,个人认为主要在于层与层之间的函数的传递,以及方法的调用,而对于各层的修改都不会影响到其它层,层与层之间基本上不存在越层的调用,也就是说表示层在一般情况下不会去调用数据访问层中的方法。通过这次毕业设计使自己认识到自己的许多不足,同时也学到了不少东西,像方法之间的调用,类的使用,存储过程的实现等。现在是比较熟悉了。不足的地方主要是,对于css样式表的使用基本上可以定义为不会,对于页面的设计,表方法的调用有时会出错。希望以后有机会能对其再此进行维护,以达到更好的效果,完善系统功能。参考文献1. 李建忠 .net框架程序设计 清华大学出版社 2006年5月2. 杨学全 SQL Server 2000实例教程 电子工业出版社 2005年12月3. 谭浩强 C程序设计 清华大学出版社 2005年3月4. 唐任仲 工程应用软件开发技术 化学工业出版社 1999年5月

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号