《基于C#图书管理系统的设计与实现(共19页).doc》由会员分享,可在线阅读,更多相关《基于C#图书管理系统的设计与实现(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上-前 言-随着科技的发展和社会的进步,计算机已成为人们生活和工作中的得力助手。特别是现代Internet的web技术的发展大大地推动了社会各个方面的发展。设计一个现代的图书管理系统势在必行。图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率图书馆管理系统是常用的信息管理系统之一,它的实现主要由两个部分组成:数据库建立与维护和前台应用程序的开发。数据库要求非常强的一致性与完整性及安全性,而前台应用程序则要求功能实现完善。简单
2、易用。Access具有比较完善的功能。而Visual C#.NET是专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和ASP.NET具有最为全面的支持。综合各个方面选择C#作为程序设计语言和Access数据库。通过对中小型图书馆的需求分析,实现了对图书馆管理系统的功能模块划分,数据库模式分析,并进一步设计了数据库结构和应用程序。由此得到了一个基本满足读者、图书馆管理员和高级管理者需求的图书馆系统。目 录基于C#图书管理系统的设计与实现【摘 要】图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始
3、使用,甚至尚未使用计算机进行信息管理。图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。为了提高日常的图书管理效率,本文以C#为环境,基于ACCESS数据库,开发了此应用软件,本系统适用于各类小型图书馆,以及各类大中专院校、中小学校、企事业单位的图书馆和资料室的现代化综合管理【关键词】图书管理系统;C#;ASP.NET;Access数据库1绪论当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这证实计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息
4、控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现金,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手
5、抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作乱而复杂;一般借阅情况是记录在借阅证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如要再进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改
6、就更加困难了。基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书馆的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统
7、一的管理。通过该系统可以实现图书信息的检索、图书借阅管理、用户个人信息的管理等各种功能,实现图书管理的快捷、高效。2图书管理系统的现状与设计目标2.1 现状国际上图书管理系统前景看好,而国内的在线图书,数量上也有了新的增长。数字图书,各高校的电子图书室等在线图书的出现,证明了在线图书管理系统的前景。当今世界,科学技术突飞猛进。以计算机多媒体和网络技术为代表的信息技术,以惊人的发展速度,迅速在各领域运用,教育也面临信息技术的挑战。图书馆信息管理系统建设作为学校教育现代化的基础工程已引起了我国教育行政部门和学校的高度重视。上个世纪90年代初美国科学家首次提出数字图书馆(Digital Librar
8、y)这一概念以来,全球开展数字图书馆研究和实践已近十几个年头。我国图书馆报界、IT业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究、关键技术准备方面,都取得了很大的进展。国内数字图书馆的实践活动大致可分为以下三种类型:资源服务器型、服务研究型和联合建设型。虽然,从严格意义上讲,资源服务型不能算是数字图书馆,但它的网上信息服务目前已在大多数图书馆开展,是现阶段我国图书馆情报界提供网上数字服务的主要形式。2.2 设计目标本图书馆公共检索系统主要面向于现今广大图书馆工作单位的图书管理员在对图书及用户进行管理时所采用的应用系统,通过图书管
9、理员的管理实现图书管理、读者管理、借阅情况查询、图书借还等功能,这样以来当读者登录系统后即可实现图书检索还可以实现对图书的借阅、归还等功能。系统充分结合了传统和现代的图书馆管理系统和图书馆检索系统特点,使系统在既符合应用系统相关要求的同时又满足图书馆单位个性化的需求。可以方便灵活的使用本系统为读者服务。利用数据库技术实现对图书馆的数据和信息系统化、程序化的组织管理,将以往低效、功能简单的传统图书馆管理系统和图书馆检索系统合起来发展成为依靠计算机自动化技术来进行图书馆管理、图书信息检索、图书借阅等操作合为一体的高级管理软件。通过对此系统的实施、运行,管理从而方便、快捷、准确地进行读者借还、图书信
10、息检索以及图书管理,此外通过查看图书借阅排行榜即可了解到本馆各类书籍的受欢迎程度,为读者以提供良好的信息帮助供其进行参考,以便能提高该系统在图书馆系统中的市场竞争力和服务的质量。3相关技术介绍本次设计首先通过查阅资料对图书领域的基本知识有一定的认识,了解用户各个方面的需求,包括现有的以及将来的可能增加的需求。然后按照数据库设计的六个阶段进行了设计与实现:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。3.1 C#简介C sharp(又被简称为C#)是微软公司在2006年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司
11、研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。C#拥有比C,C+或者Java更广泛的数据类型.这些类型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一样,所有这些类型都有一个固定的大小.又
12、象C和C+一样,每个数据类型都有有符号和无符号两种类型.与Java相同的是,一个字符变量包含的是一个16位的Unicode字符.C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。3.2 数据库AccessAccess 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功
13、能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。Access具有很多优点:存储方式简单 易于维护管理、界面友好 易操作、集成环境 处理多种数据信息、支持广泛 易于扩展 弹性较大等。总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库
14、应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。3.3 Asp.NET简介ASP.NET 是统一的 Web 应用程序平台,它提供了为建立和部署企业级 Web 应用程序所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。ASP.NET为Web应用程序提供了默认的授权和身份验证方案,开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。通过简单地将必要的文件复制到服务器上,ASP.NET应用程序即可以部署到该服务器上,不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新
15、启动。ASP.NET是运行在服务器上的已编译代码。与传统的Active Server Pages (ASP)不同,ASP.NET能利用早期绑定、实时(JIT)编译、本机优化和全新的缓存服务来提高性能。详细信息。根据应用程序的需要,ASP.NET可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。ASP.NET在内部使用Unicode 以表示请求和响应数据,可以为每台计算机、每个目录和每页配置国际化设置。ASP.NET支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。ASP.NET被设计成可扩
16、展的、具有特别专有的功能来提高群集的、多处理器环境的性能。4系统设计4.1 系统需求分析软件需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。准确、完整和规范化的软件需求是软件开发成功的关键。它的重要性在于让用户完全清楚对软件系统的确切要求,它不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作。也就是对目标系统提出完整、准确、清晰、具体的要求。反复的调查和研究,了解数据库的组织的详细情况,了解管理的业务流程等系统需求,它对于设计好概念模型是至关重要的。一个好的管理系统可以将我们的管理员从繁重的工作中解脱出来,使工作更轻松。而需求分析的好坏直接影响到系统设计的好坏。
17、(1)管理员对功能的需求:l 注册读者的查询、删除、添加l 图书的查询、删除、新增l 借阅情况的查询(2)读者对功能的需求:l 普通读者能够注册l 普通读者对图书的浏览l 图书的查询l 图书的借阅和归还系统的设计应达到以下要求:1)运用ASP.NET技术开发系统界面,用ACCESS完成数据库的建立,数据表的设计的设计。2)界面美观、简洁,易于操作,清楚体现其功能。3)系统要求稳定,功能要基本满足在线图书馆的需要。4)毕业论文严格按学校的要求撰写。5)系统要求具有一定的可扩展性。4.2 可行性分析本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为
18、读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。4.3 运行环境操作系统:Windows XP开发技术:C#数 据 库::Microsoft Access 2003 开发工具:Microsoft Access 2003、Visual S
19、tudio 2005等4.4 系统功能模块设计图书管理系统主要由图书管首页模块、读者注册/登录模块、读者借书/还书模块、图书管理模块、读者管理模块,如图4.1系统功能模块图。图4.1系统功能模块图各功能模块详细介绍如下: 图书馆首页模块:登录之后可以浏览本图书馆内的所有图书 读者注册/登录模块:读者必须通过注册之后才能登录到图书借阅页面进行图书的查询和借阅 读者借书还书模块:读者通过查询找到需要借阅的图书并借阅和归还 图书管理模块:管理者登录之后可以对读书进行查询、删除和添加 读者管理模块:管理者对读者信息进行查询和新增在线图书馆系统主要是实现对图书的查询、借阅和归还的功能,读者必须注册之后才
20、能查询和借还图书。不注册的用户则只能登录主界面对图书整体进行浏览,不能分类查询,也不能查询和借还图书。管理者可以对图书、读者以及借阅情况进行查询与管理经过分析得到流程图,如图4.2流程图 图4.2流程图5系统功能设计5.1 数据库的设计与分析结合实际情况以及对用户的需求分析,该在线图书馆的数据库中主要数据表的表结构如下:图书信息表(图书编号,图书名称,图书类别,作者,出版社,价格)读者信息表(读者ID,用户名,密码,性别)借阅情况表(读者ID,图书编号,图书名称,图书类别,作者)表5.1 图书信息表字段名称数据类型长度默认值允许空字段描述图书编号文本50否主键,外键图书名称文本50否图书类别文
21、本50是作者文本50是出版社文本50是价格货币50是表5.2 读者信息表字段名称数据类型长度默认值允许空字段描述读者ID文本50否主键,外键用户名文本50是密码文本50是性别文本50是只能为“男”或“女”表5.3借阅情况表字段名称数据类型长度默认值允许空字段描述读者ID文本50否主键图书编号文本50否主键图书名称文本50是图书类别文本50是作者文本50是5.2 系统实现5.2.1 Access 数据库的连接ASP.net连接数据库前要先引入命名空间代码如下:using System.Data.Oledb;通过Connection对象来连接数据库,代码如下:OleDbConnection con
22、n = new OleDbConnection();conn.ConnectionString = Provider=Microsoft.Jet.OleDb.4.0; + Data Source= + Server.MapPath(App_Data/数据库.mdb);/设置连接字符串conn.Open();/打开数据库5.2.2 网站首页用户进入网站之后可以进行图书的浏览,注册成功之后可以登录然后对图书进行查询、借阅和归还。管理者登录可对注册读者、图书以及借阅情况进行管理。网站如图6.1 主界面所示:图5.1 主界面5.2.3 管理者登录管理员登录:if (txtUsername.Text =
23、 管理员 & txtPassword.Text = ) Sessionpass = admin; Response.Redirect(管理者页面.aspx); /管理员密码输入正确则跳转到管理者页面会员登录:先要连接数据库if (txtUsername .Text =dr 用户名.ToString ()&txtPassword .Text =dr 密码.ToString () strUsername =dr用户名.ToString (); strPassword = dr密码.ToString (); break; /输入的用户名和密码与数据库中的相同则将值传给strUsername,之后根据
24、strUsername有无值判定是否可以登录5.2.4 注册普通用户必须注册之后才能查询和借阅图书,在注册时通过验证控件设置了几个不为空的,当输入为空或格式不正确时会报错,提醒你正确必须填写相关内容,用户注册效果图如图5.2读者注册所示。该模块的功能有:1) 验证注册用户的信息。2) 将验证成功的用户信息插入到读者信息表中。实现过程如下:1) 当用户注册时,注册信息的验证主要通过验证控件RequiredFieldValidator和CompareValidator来实现。2)验证通过后,通过SQL语句将信息插到读者信息中,跳转到主页面。实现代码如下: string strVal = + Txt
25、No.Text + , + TxtName.Text + , + TxtPassword.Text + , + TxtSex.Text + ; string strSQL = insert into 读者信息(读者ID,用户名,密码,性别)values(+strVal +);/定义SQL语句的内容 OleDbCommand com=new OleDbCommand (strSQL ,conn );/声明一个Command对象com,该对象使用conn定义的连接,执行strSQL定义的SQL语句 com.ExecuteNonQuery ();/调用ExecuteNonQuery()方法执行无返回
26、的insert语句 conn.Close (); Response.Write(alert(注册成功!););图5.2 读者注册5.2.5 读者登录读者登录之后可以对图书进行分类查询,该查询用到了RadioButtonList控件和GridView控件对数据库的绑定,在TexeBox中输入关键字进行查询,若无符合此条件的图书将做出提示。单击“显示全部”按钮将在下方显示所有图书。如图6.3读者对图书的查询,其查询实现代码如下:strSQL = select * from 图书信息 where +RadioButtonList1.SelectedItem .Text + like%+TextBox
27、1 .Text +%;/筛选出符合条件的图书之后连接到所需的数据库 OleDbDataReader dr = com.ExecuteReader();/使用com对象的ExecuteReader()方法创建一个DataReader对象dr GridView1.DataSource = dr;/设置dr为GridView控件的数据源 GridView1.DataBind();/将GridView控件绑定到数据源conn.Close();/关闭数据库图5.3读者对图书的查询5.2.6 借阅归还读者查询出自己喜欢的书籍后可以进行借阅,还可以将自己所借图书归还。填写自己需要借还图书的详细信息,单击借阅
28、之后会将信息存储到数据库借阅情况表中,从而实现图书的借阅。图书的归还与该功能的实现类似,只是从借阅情况表中删除该条记录。界面如图5.4 图书的借阅与归还。其代码如下:图书的借阅:OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = Provider=Microsoft.Jet.OleDb.4.0; + Data Source= + Server.MapPath(App_Data/数据库.mdb); conn.Open(); string strVal = + TextBox2.Text + , + TextB
29、ox3.Text + , + TextBox4.Text + , + TextBox5.Text + ,+TextBox6.Text +; string strSQL = insert into 借阅情况(读者ID,图书编号,图书名称,图书类别,作者)values( + strVal + ); OleDbCommand com = new OleDbCommand(strSQL, conn); com.ExecuteNonQuery(); conn.Close(); Response.Write(alert(借阅成功!););图书的归还:string strDel = delete from
30、借阅情况 where 读者ID= + TextBox2 .Text + +and 图书编号=+TextBox3 .Text +; OleDbCommand delCom = new OleDbCommand(strDel, conn); OleDbDataAdapter da = new OleDbDataAdapter(); conn.Open(); da.DeleteCommand = delCom; da.DeleteCommand.ExecuteNonQuery(); conn.Close(); Response.Write(alert(还书成功!););图5.4 图书的借阅与归还5.
31、2.7添加新记录管理者登录后对图书信息、读者信息、借阅情况进行管理。管理员对读者和图书添加新记录需要在表中依次填入所需信息,单击添加按钮,然后将该信息存储到图书信息表中或读者信息表中,从而达到添加记录的目的。如图4.5添加新记录,其代码的实现如下: string strVal = + TextBox2.Text + , + TextBox3.Text + , + TextBox4.Text + , + TextBox5.Text + , + TextBox6.Text + , +TextBox7.Text+; string strIns =insert into 图书信息(图书编号,图书名称,
32、图书类别,作者,出版社,价格) values ( + strVal +); OleDbCommand insCom=new OleDbCommand (strIns ,conn ); OleDbDataAdapter da=new OleDbDataAdapter();/声明OleDbDataAdapter对象da conn.Open(); da.InsertCommand=insCom;/设置da对象的InsertCommand属性为前面的insCom对象 da.InsertCommand.ExecuteNonQuery(); conn.Close(); 图5.5 添加新记录5.2.8 删除
33、记录管理者还可以对图书和读者做删除处理,实现过程中添加了DropDownList控件和控件GridView并将其与DropDownList控件绑定,如图6.6 删除记录,其代码如下所示: string strDel=delete from 图书信息 where 图书编号=+DropDownList1.SelectedItem.Text +; OleDbCommand delCom=new OleDbCommand (strDel,conn); OleDbDataAdapter da=new OleDbDataAdapter(); conn.Open(); da.DeleteCommand =d
34、elCom; da.DeleteCommand .ExecuteNonQuery (); conn.Close(); Response .Write(alert(记录已成功删除!););图5.6 删除记录5.2.9 借阅情况查询管理者可以对借阅情况进行浏览与查询,页面中加入了GridView控件,设置其数据源为借阅情况表,加载时出现所有的借阅情况,可以对其浏览。查询记录中利用了RadioButtonList控件,可以进行分类查询。其界面如图5.7 借阅情况查询。查询代码如下:protected void Button1_Click(object sender, EventArgs e) str
35、ing strSQL; if (TextBox1.Text = ) Response.Write(alert(查询关键字不能为空!);); return; /TextBox1不能为空,否则出现提示 strSQL = select * from 借阅情况 where + RadioButtonList1.SelectedItem.Text + like% + TextBox1.Text + %;/定义SQL语句内容 OleDbConnection conn = new OleDbConnection();/声明一个Connection连接对象conn conn.ConnectionString
36、= Provider=Microsoft.Jet.OleDb.4.0;+Data Source=+Server .MapPath (App_Data/数据库.mdb);/设置conn对象的Connection属性(连接字符串) conn.Open();/打开数据库连接 OleDbCommand com = new OleDbCommand(strSQL ,conn );/声明一个Command对象com,该对象使用conn定义的连接,执行strSQL定义的SQL语句。 OleDbDataReader dr = com.ExecuteReader();/使用com对象的ExecuteReader
37、()方法创建一个DataReader对象dr GridView1.DataSource = dr;/设置dr为GridView控件的数据源 GridView1.DataBind();/将GridView控件绑定到数据源 if (GridView1.Rows.Count = 0) Response.Write(alert(未找到符合条件的记录!);); conn.Close(); 图5.7 借阅情况查询总结本设计使用Access创建后台数据库,使用Microsoft Visual Studio作为前台操作界面实现对图书管理系统的功能操作。本图书管理系统实现了图书管理的基本功能,经过调试运行,表明
38、该系统具有可行性和可扩充性。但数据库还有待进一步的完善与规划,操作系统还有待于进一步的改善,使系统更加高效,更加人性化。从系统的需求分析开始,到后来的每一步,都需要围绕着一个整体的思路,一个工程的概念进行,需要逐层的将系统一步步分解,细化。然后,分别实现每一个功能,每一个模块,最后将全部模块整合起来,系统便成型了。在这段时间的软件设计中,遇到了各种各样的问题,特别是数据库实现,与系统前台的实现阶段。由于第一次接触相关的软件,所以使用起来相当的吃力,几乎每一步都可能发生错误。为了解决这样那样的问题,我翻阅了不同的书籍,在网上搜索了大量的资料,一个一个的将问题解决掉。在这期间,无形中锻炼了我分析问
39、题,解决问题的能里,锻炼了我自主学习的能力。参考文献1 李佳.丁宁.C#开发技术大全.清华大学出版社,20092 马建红,范贻明.Visual C#程序设计与软件技术基础.中国水利水电出版社,20023 常永英 .ASP.NET程序设计教程(C#版).机械工业出版社,20094 刘宇松,蔡寅,罗晓东等.Visual C#2008程序设计与应用教程.北京;清华大学出版社.20115 谭浩强,C程序设计.第三版. 北京:清华大学出版社,20056 陈伟.SQL Server 2005数据库应用与开发教程.北京:清华大学出版社,2007 7 九州书源,SQL Server数据库管理与应用.第二版.北京:清华大学出版社,20118 杨涛,Access 2007实用教程.清华大学出版社,20079 常永英,崔淼,马润成,梁云杰.ASP.NET程序设计教程(c#版)M.机械工业出版社.200710 李春葆 金晶 曾平等.C#程序设计教程.清华大学出版社,201011 陈桂林.Access数据库程序设计.高等教育出版社,200712 李容.完全手册Visual C# 2008开发技术详解.电子工业出版社,2008专心-专注-专业
限制150内