这一次做得是图书管理系统。

下面是功能框图

下面是流程图

实际在做这个项目的时候根据相应的实际情况对功能流程等等做了一些小小的改变。

下面是一些值得记一笔的地方。

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--图书管理系统的更多相关文章

  1. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  2. [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)

    [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date  周六 10 一月 2015 By 钟谢伟 Category website develop ...

  3. 基于TXT文本的简单图书管理系统

    1 ////////////////////////////////////////////////////////////////////////////////////// //SqList.h ...

  4. struts2+hibernate 项目实战:图书管理系统

    经典项目,练手必备. 图书管理系统 需求分析(大致,并不专业):1.需要有用户管理: 1.1 用户注册: 1.2 用户登录: 1.3 用户信息修改: 1.4 用户修改密码: 2.需要有书本管理: 2. ...

  5. 图书管理系统——APP平台开发

    http://www.w3school.com.cn/php/ 初步计划采用PHP 开发网站. 一定要独立建立一套图书管理系统, 尤其唯一性质的概念,整合,甚至中英文图书概念的而整合.一本书一个页. ...

  6. Java swing项目-图书管理系统(swing+mysql+jdbc)

    (一)项目功能分析 该项目是设计一个图书管理系统,主要包含的内容有: (1)管理员登陆界面 ->信息录入 ->登录 ->重置 (2)图书管理系统总界面 ->子界面菜单: 1)图 ...

  7. 作业六—图书管理系统(SPEC)系统性能评估测试

    一.图书管理系统的典型用户和场景: 该系统是为各类学校图书馆和社会各大图书馆和书店管理者使用的图书管理系统.但是我们还是已北京工业大学耿丹学院图书馆为典型用户进行主要设计的! 二.SPEC测试的目标: ...

  8. 基于jsp+servlet图书管理系统之后台用户信息查询操作

    上一篇的博客写的是插入操作,且附有源码和数据库,这篇博客写的是查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/de ...

  9. 基于jsp+servlet图书管理系统之后台用户信息修改操作

    上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的是修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/de ...

  10. 基于jsp+servlet图书管理系统之后台用户信息删除操作

    上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...

随机推荐

  1. Django框架(四)

    八.Django 模型层(2) 多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息. ...

  2. js利用sort()方法实现数组排序

    1.number类型排序 let aa = [1,11,2,4,3] aa.sort() console.log(aa) //[1,11,2,3,4] aa.sort((a,b)=>a-b) c ...

  3. Mac上实现ProxyChains-NG终端代理

    附上官方网站,可以自行查看:https://github.com/rofl0r/proxychains-ng 操作步骤如下: 1.在终端上用brew 安装ProxyChains-NG brew ins ...

  4. Mad Libs游戏 & 华氏温度与摄氏温度转换

    Mad Libs游戏 animal1 = input("请输入一种动物") animal2 = input("请输入一种动物") movement1 = inp ...

  5. C++ 常用设计模式(学习笔记)

    1.工厂模式:简单工厂模式.工厂方法模式.抽象工厂模式 1).简单工厂模式:主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类. typedef enum { T80 ...

  6. Hadoop学习笔记04_Hbase

    大数据开发的学习,组件还是很多的,都需要掌握并多加练习. 最好的参考文档当然是官方的了. 因为Hadoop生态圈组件很多,所以,在建设之初一定要检查好各版本的兼容性.避免后期麻烦. 我的练习使用Had ...

  7. mysql 分组排序取最值

    查各个用户下单最早的一条记录 查各个用户下单最早的前两条记录 查各个用户第二次下单的记录 一.建表填数据: SET NAMES utf8mb4; -- 取消外键约束 ; -- ------------ ...

  8. vs2015和Oracle在一起时的Shit问题

    VS2015在连接Oracle时,必须要安装到一个不含有空格的目录中去,否则连接不上Oracle,至于为什么,不知道,鬼知道,日的. 如果你不幸以前安装过VS2015,安装到它的默认的什么“progr ...

  9. SpringMVC @RequestBody @RequestParam @PathVariable 等参数绑定注解详解

    request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: http://blog.csdn.net/walkerjong/article/details/794 ...

  10. net start/stop mysql access denied.拒绝访问

    转载:Mysql net start mysql启动,提示发生系统错误 5 拒绝访问 解决之道 为什么会出现这个问题呢?经过一番思考找到原因了,是因为当前用户的操作权限太低了,出了问题 出错问题截屏如 ...