pj2--图书管理系统
这一次做得是图书管理系统。
下面是功能框图

下面是流程图

实际在做这个项目的时候根据相应的实际情况对功能流程等等做了一些小小的改变。
下面是一些值得记一笔的地方。
1、借用系统自带的导航控件(BindingNavigator)
自定义数据来源---先定义一个BindingSource对象,再设置这个对象的datasource属性(需要绑定的数据源).
需要注意的一点是判断Bindingsource是否为空是通过他的list的count属性来判断的,他自带的count属性我理解的是数据源的个数。
之所以使用这个控件是因为Bindingsource对象里面自带move(next、first等),可以很方便的实现下一页上一页等操作。
2、使用用户控件和多层架构,第三方控件
使用用户控件可以大量减少Form的数量,以前没用过,这一次使用了,感觉不错。
再就是多层架构,说是多层架构,但是个人觉得很简略粗糙。我写我的部分的时候我的顺序是:先写datahelper->entity->dal->Ibll->Bll->UI
datahelper和entity是组内通用的,不赘述。在写dal层的时候由于不知道ui会使用到那些数据,所以一开始设计的时候,是直接就获取了全部的数据,后来做到后面发现用不到那么多东西,没有规划好(也许是写各层顺序不对)。之所以设计IBLL层开始是以为可以组内复用的,结果,组内都没做这个工作,以致于我们的代码里面有很多冗余,本来可以复用的地方,都没有去考虑复用(分开个人写的坏处,没有充分交流)。不过设计IBLL的好处是可以省略写好多代码(继承接口直接实现,感觉很棒,写具体 代码的时候很有条理)。。。。。。
BLL层大部分没有做什么数据处理,直接就返回给ui使用。
UI层我在很多地方本来是该BLL层做得事情,由于太懒,直接就在UI层处理了,这也是分层的弊端----增加了码农的工作负担
第三方控件我们是直接使用了一个第三方的皮肤包。在找控件的时候我也发现了一些好的资源,待会儿上传到一并网盘保存
3、读取Excel
方式与SqlServer时一样的。下面写一下不同的地方
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1'";
//HDR的YES和NO表示第一行是否是行标题(即无数据)IMEX有0、1、2三种参数分别表示write、read、writeANDread(读写权限)
String sql = "SELECT * FROM [Sheet1$]";
//Sheet1是名称,包括数据域是可以更改的,这个要参考对excel的单元格操作
4、调用豆瓣提供的API获取图书信息
豆瓣提供的API返回的是XML文档,这里主要需要做的就是利用XML分析返回的文档,获取到相应的数据。
关键代码
XmlDocument xml = new XmlDocument();
xml.LoadXml(xmldetail);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xml.NameTable);
nsmgr.AddNamespace("db", "http://www.w3.org/2005/Atom");
XmlElement root = xml.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/db:entry", nsmgr);
然后就是遍历nodes了。
附件:http://yunpan.cn/cgnCaG4dPsTbT (提取码:8ffa)
pj2--图书管理系统的更多相关文章
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
- [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)
[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date 周六 10 一月 2015 By 钟谢伟 Category website develop ...
- 基于TXT文本的简单图书管理系统
1 ////////////////////////////////////////////////////////////////////////////////////// //SqList.h ...
- struts2+hibernate 项目实战:图书管理系统
经典项目,练手必备. 图书管理系统 需求分析(大致,并不专业):1.需要有用户管理: 1.1 用户注册: 1.2 用户登录: 1.3 用户信息修改: 1.4 用户修改密码: 2.需要有书本管理: 2. ...
- 图书管理系统——APP平台开发
http://www.w3school.com.cn/php/ 初步计划采用PHP 开发网站. 一定要独立建立一套图书管理系统, 尤其唯一性质的概念,整合,甚至中英文图书概念的而整合.一本书一个页. ...
- Java swing项目-图书管理系统(swing+mysql+jdbc)
(一)项目功能分析 该项目是设计一个图书管理系统,主要包含的内容有: (1)管理员登陆界面 ->信息录入 ->登录 ->重置 (2)图书管理系统总界面 ->子界面菜单: 1)图 ...
- 作业六—图书管理系统(SPEC)系统性能评估测试
一.图书管理系统的典型用户和场景: 该系统是为各类学校图书馆和社会各大图书馆和书店管理者使用的图书管理系统.但是我们还是已北京工业大学耿丹学院图书馆为典型用户进行主要设计的! 二.SPEC测试的目标: ...
- 基于jsp+servlet图书管理系统之后台用户信息查询操作
上一篇的博客写的是插入操作,且附有源码和数据库,这篇博客写的是查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/de ...
- 基于jsp+servlet图书管理系统之后台用户信息修改操作
上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的是修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/de ...
- 基于jsp+servlet图书管理系统之后台用户信息删除操作
上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...
随机推荐
- 若依项目利用nginx实现负载均衡及保持会话
记录一下若依项目利用nginx实现负载均衡及保持会话的步骤. 此次作为试验性的测试,为了方便在本地window的环境上实现. 具体步骤: 1.安装两个tomcat8,可以下载一个后,另一个复制即可,下 ...
- Linux .vimrc 设置项
Linux 下,.vimrc 有两个.一个是全局使用的(/etc/vimrc),另一个是个人使用的(~/.vimrc). 大部分的情况下,我们只需要设置自己目录下的.vimrc 即可. # vim ~ ...
- VSTO:使用C#开发Excel、Word【13】
应用程序对象的操作本章将介绍从Application对象开始的Excel对象模型中的一些主要对象. Excel对象模型中的主要对象有许多方法和属性,完全描述这些对象超出了本书的范围.相反,本章重点介绍 ...
- <a></a>标签传参出现乱码问题
在段代码在传递参数的时候会出现中文乱码,正常情况下,只要在接收参数的时候写上: request.setCharacterEncoding("UTF-8");就能解决问题. 但是,今 ...
- ajax中的一些参数的含义及用法
jquery中的ajax方法参数总结: 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get) ...
- obspy下载地震波数据
Retrieving Data from Data Centers(从数据中心检索数据) PS:此部分提供了使用obspy下载数据的推荐方式,但是由于数据中心和web服务在不断更新变化,所有有些建议可 ...
- django rest_framework 分页出现报错
1.出现: WARNINGS: ?: (rest_framework.W001) You have specified a default PAGE_SIZE pagination rest_fram ...
- WebView性能、体验分析与优化
育新 徐宏 嘉洁 ·2017-06-09 20:03 在App开发中,内嵌WebView始终占有着一席之地.它能以较低的成本实现Android.iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的 ...
- 新建虚拟机并与XShell连接(配置网卡)
新建虚拟机并与XShell连接 一.新建虚拟机 下一步 下一步 选择CentOS版本,我的CentOS镜像是6.5版本64位,所以我选择CentOS 6 64. 然后点击下一步 可以自行更改位置,然后 ...
- VS Code 工具配置和格式化
{ "onSave": true, "javascript": { "indent_size": 2, "indent_char& ...