
【项目经验】
文章平均质量分 78
非本人文章
活到老,学到老
展开
-
MVC——第一个界面的数据传到第二个界面
本文介绍了,在MVC中,如何将第一个界面的值在第二个界面显示。如: 第一个界面: 点击下一步后:将课程性质和考核项名称传到下一个界面。实现过程: 第一个界面将要传的值,放在url中。var url ="?courseProperty="+courseProperty+"&assessName="+assessName+"&score="+score原创 2016-04-10 21:42:42 · 3312 阅读 · 36 评论 -
【机房重构】——修改密码 及 share()
机房收费系统重构之修改密码,算是自己独立敲出的第一条线,也代表着自己对三层终于有了一定的理解。如何将登陆的用户名记录下来,以供修改密码查找记录时调用。vb中是在模板里定义了一个公共变量,这里应该也是这种思想....但如何定义呢?解决方法:用share关键字。在实体中:Public Shared UserID As String这样就可实现将变量值应用于整个程序。 最初想到这个问题(如何设定一个公共变量),我先想到了:如何让一个变量被赋完值,不再变化(实例化后不是空)。然后我首先原创 2015-03-22 21:18:09 · 2190 阅读 · 48 评论 -
机房收费 & 廊院食堂
做机房收费系统时,经常想这个一般用户指的是谁?我当初以为是学生......可能是被数据库中的student带跑偏了...... 其实把我们的系统联系一下实际,就会很容易想到一般用户指的是谁的位置。 食堂一般的窗口,只能充饭卡。若要挂失,补卡只能在新食堂二楼,这就说明他们的级别不同,其实也就是一般窗口是一般用户,新食堂二楼是操作员。而管理员则是我们不原创 2014-08-25 17:08:50 · 2740 阅读 · 117 评论 -
学生信息管理系统——常见问题(二)
数据库中无记录遇到实时错误“3021”的解决方法大家在敲学生信息管理系统时,经常会遇到这种情况:数据库中没有添加记录,但我们点击修改记录时,会出现如下提示:现在有两种解决办法:一、进行错误处理错误处理的本质就是当遇到错误时,可以跳过该错误,直接进行下一步,以便于程序顺利进行!那么我们根据这个原理在程序中添加错误处理,程序便可迎刃而解!Private Sub Form原创 2014-07-29 20:20:59 · 2592 阅读 · 25 评论 -
学生信息管理系统——常见问题(一)
出现这种错误,说明系统内缺少不能加载的控件,如上图的错误就是缺少mscomctl.ocx控件。只需下载该控件,注册并引用。引用过程:点击工程——引用——浏览查找范围:控件下载到的位置。文件类型改为上图,方便查到要添加的控件。选中控件打开并引用即可。 调试定位到:行 13: 控件 sbStatusBar 的类 MSComctlLib.StatusBar 不是一原创 2014-07-25 14:27:06 · 2742 阅读 · 44 评论 -
如何应用memcached
1.在配置文件添加: 2.添加引用(引用dll)下面是所有的: ITOO.Library.core确保版本正确若用wcf,wcf也要添加引用 代码示例: #regionQueryPaperIDByCourseTypeIDMemcache()根据课程性质ID查询试卷ID-赵寒-2016-3-16原创 2016-04-30 22:50:18 · 564 阅读 · 14 评论 -
try...catch...新认识
对一个或多个实体的验证失败 有关详细信息,请参见"EntityValidationErrors"属性。通过try...catch....找到问题根源,轻松解决bug。原创 2016-05-03 21:02:59 · 758 阅读 · 27 评论 -
【SSH】——框架理解篇
所以,“jsp界面和action 就像mvc的V和C”,就不太恰当了,因为MVC中,V、C之间直接传递数据,但在SSH中,有了Struts对其解耦。界面的请求以及数据返回都需要通过Struts根据配置文件进行相应的处理后,才能顺利执行。 service和DAO确实类似B层、D层。但在这应该就不要提层的概念了。通过这种方式理解是可以的。但毕竟七层、五层都不是专业的说法。 Hibernate类似封装的底层?其实规范的说:Hibernate是一个开放源代码的对象关系映射框架。提到对象关系映射,有没原创 2016-05-15 21:48:04 · 1085 阅读 · 22 评论 -
获取easyui-combobox value值
背景: 其实这是个常用的不能再常用的小功能。但当初自己也废了不少劲。现在发现有些人对这块还比较模糊,实现不了。所以在巩固知识的同时分享给大家。功能描述: 点击学院的combox,选择学院。然后根据学院ID查出该学院对应的课程。并加载到课程的combox中。难点: 获取combox的文本值,不难。我做的时候遇到的问题就是获取不到学院ID。从valueFiled中得到的也总是学院名称。实现: 我们在使用easyui-combobox时,一般会在textFiel原创 2016-06-12 16:58:24 · 20635 阅读 · 18 评论 -
【vba】——整合excel数据
vba是在最初组织旧版评教系统时就接触过的,但一直没研究过,也没仔细看过。只知道它可以整理数据。了解: Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种原创 2016-06-19 20:16:36 · 12442 阅读 · 21 评论 -
C#读取系统文件信息(一)——调API读取文件类型
需求: 做类似资源管理器的一个系统,现已读出各盘文件信息,需要我读出文件的类型以及图标。思路: 因为之前没有做过类似的功能,所以自己当时想的是:通过扩展名来判断是什么文件,直接给它返回(自己写)相应的文件类型。但最终舍弃了。因为这样的话需要列举的文件类型太多太多。并且查资料,大家显示的文件类型都是和本地资源管理器中的类型一一对应。所以肯定不是我想象的这样。 所以继续查,找到一个调用windows API的一个方法,可以读取系统文件的信息,包括文件类型,包括Icon图标。原创 2016-06-26 21:05:15 · 3410 阅读 · 14 评论 -
C#读取系统文件信息(二)——调API读取系统文件及系统盘Icon图标
ListViewItem是不能直接显示图标的。我们需要先建立一个ImageList。然后将listView的SmallImageList(小图标)属性指定为建立的ImageList。 过程中,我们会将读取的图标信息存放在ImageList的Images中。 ListViewItem中有一个属性是ImageIndex。我们输入int值,它会返回Images中对应的Icon。 但我们读图标,一般用扩展名,怎么对应上它的int值呢?我们可以用一个哈希表 读取图标后,首先放在原创 2016-07-06 20:31:05 · 2596 阅读 · 49 评论 -
【demo积累】——真分页查询
分页查询是一个非常常用的功能,一般我们都用封装好的直接来用,现在我们看看它具体是怎么实现的。 这块是真分页的查询。关于真假分页,通俗一点:真分页就是在库里拿出该页该显示的记录。假分页就是通通从库里取出后,按页显示。 一般,数据量大的采用真分页,数据量小采用假分页。(自己分析的:数据量大,一下拿出时间长,性能差。所以用真分页;数据量小,一下拿出无影响,假分页可以减少IO操作)原创 2016-08-31 18:53:13 · 967 阅读 · 11 评论 -
【感悟】——逻辑的重要性-循环里不要套IO操作
对于逻辑的重要性,不知道大家有多少感悟。我今天的感受,主要来源于和四姐的交流。 在这之前,我不是没听说过逻辑,也不是不知道逻辑的重要性。但在脑海中也就是:嗯,逻辑很重要,仅此而已。根本没有深入的去思考。 我们学校每年进行评教的学生大约有两万人。也就是,按原来的逻辑,要进行20万次对数据库的访问。但现在只需要两万次。减少了十八万次。有没有很激动。而这只是评教系统中的一个小小细节。我想,经过我之后用脑分析,多去思考。肯定会将评教优化的更完美。同样,大家都多思考。我们的ITOO性能一定会有大幅度原创 2016-03-13 23:19:45 · 1248 阅读 · 23 评论 -
“==“与“equals”区别
总结: 1、string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同; 2、当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。 所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的,此时==返回false,Equals(如果进行了重写)返回true; 3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;原创 2017-02-19 21:21:54 · 10847 阅读 · 16 评论 -
【机房重构】——share & static
背景: 在敲机房收费系统修改密码过程中,遇到一个问题:如何将登陆的用户名记录下来,以供修改密码查找记录时调用。 曾经敲vb版本机房时,是在模板里定义了一个公共变量,这里应该也是这种思想....但如何定义呢?share/static 对比原创 2015-03-29 14:06:00 · 1595 阅读 · 35 评论 -
【机房重构】——UML
机房重构UML图浩浩荡荡开始,现也让它告一段落,再下面敲的过程肯定还要完善..... 这一遍,较第一遍有很大的进步。因为最起码有了三层的思想,到现在,我画了用例、包图、类图、时序图: 用例图和第一遍没什么区别,依然是按角色划分的,用例图将所有的功能按用户列出,让各个功能之间的关系一目了然——这也是用例图的作用。 第二个画的包图,将三层清晰明了展现出来。原创 2015-04-12 20:33:42 · 1036 阅读 · 26 评论 -
【感悟】——逻辑的重要性[续]+Dictionay
一句话:list的机制是循环,Dictionary的机制是Hash算法。即:若list和dictionary中分别有10条数据,最坏的情况下,从list中找到该数据需要循环10次,从dictionary中只需要一次。原创 2016-03-20 22:31:06 · 899 阅读 · 26 评论 -
【ChargeSystem】——总结
我们的团队共三名大将:李爽(组长)、齐伟、赵寒。软考之后,我们搬到万达安定下之后,我们开始了我们的收费系统。培养计划本定的15天的任务,咳咳,我们进行了近三个月,二月份才结束了项目(可以辩解为:我们中间穿插着别的项目)。但过程中,我们都收获颇多。 项目中,我负责的是D层,工厂层和接口层。这次用的是C#语言。 通过这次合作,重新理顺了抽象工厂+反射+配置文件。原创 2016-03-04 20:33:23 · 1279 阅读 · 23 评论 -
【委托】—是什么&怎么用&什么用
使用委托好处优点,具体请点入: 面向对象的思想:职责分明。自己不用做的事,就委托给该干这事的人。 通过委托,实现了mother和nurse之间的解耦。即mother要用nurse的方法,但没有直接调用。 提高了代码的可扩展性,如果此时mother还有别的事情,如要买菜,就可以把买菜委托给另一个nurse,这时,只需要再添加一个nurse类,里面写上买菜的方法,在主方法中将买菜注册到委托的事件中。就可以实现委托另一个nurse去买菜了。整个过程不会对原有程序进行任何改动。所以使用委托,原创 2016-02-17 21:32:50 · 2887 阅读 · 57 评论 -
【MVC】——MVC框架
简介: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结原创 2016-01-31 19:43:17 · 767 阅读 · 11 评论 -
【委托】——动态决定使用何方法
宏观认识: 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。实例中体会: 举个比较扯的例子,勿喷:用C#实现呼叫点餐功能。原创 2016-01-23 14:53:45 · 1432 阅读 · 37 评论 -
【MVC】——URL路由
URL:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。--百度百科 URL路由系统通过对请求地址进行解析从而得到以目标Controller名称为核心的路由数据。Url路由系统最初是为了实现请求url与物理文件路径分离而建立的,MVC的Url原创 2016-01-17 21:48:27 · 1559 阅读 · 26 评论 -
【机房收费系统】——工厂
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需制定它们具体的类 用抽象工厂模式来实现数据库访问程序作为例子 产品抽象类:产品有可能有许多不同的实现 具体产品:对抽象产品的具体实现 工厂类:包含所有产品创建的方法并且能够创建出具体的对象 总结抽象工厂模式的定义:工厂原创 2015-12-31 18:39:46 · 632 阅读 · 18 评论 -
【实践】——PowerBuilder登录+PB自带数据库
用PowerBuilder实现登录小程序+用PB自带数据库图文详细介绍了PowerBuider的创建窗体方法和如何创建连接数据库,并通过登录功能为实例,可以帮助初学者容易的理解体会。原创 2015-12-20 22:12:24 · 6331 阅读 · 36 评论 -
【框架】——WCF
《概念》 WCF:(Windows Communication Foundation),是微软开发的一系列支持数据通信的应用程序框架。原创 2015-12-13 23:15:42 · 1587 阅读 · 29 评论 -
【C#】——文件夹中获取指定特点的文件名
功能要求: 在C:\Hb15Dir文件夹中,获取所有以a开头,扩展名为txt的文件名。思路: 1.遍历读取所有文件放在数组中,并赋值到listbox。 2.根据给定条件遍历筛选文件。 3.将条件写活到界面,并丰富特点,多条件获取指定文件名 第一步: //指定路径 String path = @"C:\Hb15Dir\"原创 2015-11-23 19:50:12 · 2646 阅读 · 50 评论 -
【机房重构】——错误中成长
背景: 本来系统好好的,但今天一打开:180多个错。天呐~~~一下就晕了。整了不到半个小时,就坐不住了。赶快叫救兵前来助阵。怎么办,马上就验收了,真的有些心慌了~~~问题 虽然看上去有小200个错,但错误类型就两个:(但没来得及截图,下次遇到问题,先截图留念,有图有真相)问题一:找不到dll文件 这类问题后来我了解到,有这几个原原创 2015-05-17 16:22:47 · 1371 阅读 · 42 评论 -
【机房重构】——VS制作报表+日期格式转化
VS制作报表 制作报表这块,VS相对当初的VB就容易多了,VS不需要再用第三方软件制作报表,它本身就可以。方法1、新建窗体——添加ReprotViewer控件 2、点击控件的右上角小三角,选择设计新报表3、数据源:新建4、选择数据库——下一步5、选择数据集——下一步6、新建连接原创 2015-05-10 21:08:33 · 1900 阅读 · 27 评论 -
【机房重构】——查看上机记录、充值记录+三层+存储过程+模板方法
模板方法 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 即:重复度高的窗体,可以用模板方法,比如组合查询。少数的不同之处在父类中定义虚方法,在子类中重写。分析 一般用户中,充值记录,和上机记录除了查询的表不一样,其它一模一样,所以考虑用模板方法,这样可原创 2015-05-03 16:08:26 · 2008 阅读 · 44 评论 -
【机房重构】——一步步完善
三层、SqlHelper、DataTable、存储过程一步步优化。SQLhelper SqlHelper是一个基于·NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。——引用于百度百科 SqlHelper中原创 2015-04-26 19:15:55 · 1042 阅读 · 36 评论 -
一千个不用 Null 的理由
Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NO转载 2017-12-20 11:02:40 · 544 阅读 · 3 评论