那些年 我们一起追过的女孩

用这个电影的名字做标题,没什么其他的意思,哈哈 其实就是我在写日志的时候正在看这个电影而已。

今天是正常下班,但是到家倒是跟平时都差不多,也是九点多了。下班后跟同事们一起去吃了顿烤鱼。刚才写下班的时候竟然有种要写下课的冲动。我是有多怀念在学校的生活。酒喝的不多,但是鱼确实够辣~   估计明天要上火了。

今天下午忙完之后,想起来该喝水了,像往常一样去洗洗杯子解热水。貌似,好像我曾经感觉到过我的那个杯子把手本来就有点问题了,但是一直没注意,因为怎么也想不到一个陶瓷的杯子把手会断。洗过杯子我顺手甩了甩。。。。  然后乒乒乓乓叮叮咣咣 摔了  左手食指被划了一道口子,流血不多,但是流血不止。。。只能用纸一直包着了。反正到现在都还没有弄好。

沈佳宜真的好美好美,这小子能这么跟一个漂亮的女生一起努力学习,是件多么令人羡慕的事情。唉唉 真替这小子着急啊,替当时的自己着急。

晚上回来跟老师帮忙介绍的女孩子留了言,但是貌似今天一直比较忙,没大有空搭理我,好吧,我又胡思乱想了,原来聊天的时候语气还是不错的啊,现在也不知道到底是个什么态度。刚开始我也不好做的太过。现在只是还停留在对她第一印象不错的状态,了解了一些信息却对这个人没有什么具体的概念。我希望能多多沟通一下。

晚上回来看了一点Extjs,用台式机重新做了一下要做的那个小项目,,发现要比笔记本快多了,好吧,我决定暂时还是不在这个笔记本上继续做Extjs的东西了,不如写点Java的东西吧,不做前台了。

谢谢你喜欢我。这句话听的好心痛。

ExtJS搭建的图书管理系统

今天上班时候好不容易有空,看点其他东西。正好51CTO上分享到了几个经典的小项目(当然是别人认为经典),我也暂且认为这小项目不错吧,但是实际上我并不知道这个项目到底是什么。抱着试试看的态度,把两本书下载了下来。

两个项目:图书管理系统和进销存管理系统。两个被做烂了的小项目啊,不过确实是够经典的。

话不多说,仔细一看,发现原来书里用来做图书管理系统的竟然用的是CS模式,哈,正好,最近在琢磨ExtJS,不妨把这个项目改写成BS的系统,正好借此机会彻底熟悉一下ExtJS。

好,决定了,就在V2EX上建立了一个小项目,用作跟进项目进度。今天的任务很简单,搭建好环境,建立好数据结构。

由于Java的三大框架实际上我根本不会用,也没深入接触过,于是暂时放弃了在这个小项目中集成其他框架的想法,用Ext就够了。

晚上回来,八点多,打开笔记本,下载下来这两本书,台式机登录了一下QQ。呵呵,今天老师说的那个要介绍给我的女生通过了QQ的好友请求。先这样吧,今天没想好说什么,毕竟相亲也是头一回嘛。

在人人上逛了一会儿,差不多了,洗澡去鸟。好吧,从这儿看来,我的效率真心不高,做一件事之前做这么多其他事情。不过也是白天就已经想好的内容,洗澡是肯定要洗的,头发都油透了快,没办法,熬夜比较多。

OK,白天已经确定下来项目的简称是lbims,洗澡回来首先在笔记本上安装了mysql5.5和数据库管理工具navigator,打开下载下来的书,对应里面介绍,创建三个表,图书信息表,图书借阅记录表,用户表。建完这三个表之后,在MyEclipse里新建web project:lbims,从网上搜索Ext资料的时候,发现有介绍一个插件Spket不错,于是安装介绍给自己的IDE安装一下。但是。。。 超级慢啊~~  好吧,看在介绍上说你如此给力,就忍受一下吧先。

好,已经做的东西记录完了。

Oracle trigger

今天需要处理一个问题,大致为:原来的页面在上一个节点到本节点转换的时候会给表赋默认值,本页面显示默认值。但是如果将某个或某些字段强制清空后并保存,会将空值存到表中。在做下一期的时候,拷贝上期本表时,判断如果为空则重新赋值为默认值。这样导致前一期与后一期数据不一致。客户要求一致。那么,为了在不动程序的前提下搞定这个问题,就想到了写个触发器。

触发事件:引起触发器被触发的事件。 例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。
触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 的操作顺序。
触发操作:即该TRIGGER 被触发之后的目的和意图,正是触发器本身要做的事情。 例如:PL/SQL 块。
触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。
触发条件:由WHEN子句指定一个逻辑表达式。只有当该表达式的值为TRUE时,遇到触发事件才会自动执行触发器,使其执行触发操作。
触发频率:说明触发器内定义的动作被执行的次数。即语句级(STATEMENT)触发器和行级(ROW)触发器。
语句级(STATEMENT)触发器:是指当某触发事件发生时,该触发器只执行一次;
行级(ROW)触发器:是指当某触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。
编写触发器时,需要注意以下几点:
触发器不接受参数。
一个表上最多可有12个触发器,但同一时间、同一事件、同一类型的触发器只能有一个。并各触发器之间不能有矛盾。
在一个表上的触发器越多,对在该表上的DML操作的性能影响就越大。
l 触发器最大为32KB。若确实需要,可以先建立过程,然后在触发器中用CALL语句进行调用。
在触发器的执行部分只能用DML语句(SELECT、INSERT、UPDATE、DELETE),不能使用DDL语句(CREATE、ALTER、DROP)。
触发器中不能包含事务控制语句(COMMIT,ROLLBACK,SAVEPOINT)。因为触发器是触发语句的一部分,触发语句被提交、回退时,触发器也被提交、回退了。
在触发器主体中调用的任何过程、函数,都不能使用事务控制语句。
在触发器主体中不能申明任何Long和blob变量。新值new和旧值old也不能向表中的任何long和blob列。
不同类型的触发器(如DML触发器、INSTEAD OF触发器、系统触发器)的语法格式和作用有较大区别。

———————

以上部分为需要注意的内容,但是相关内容更多,还是先不拷贝了。来源:

<http://www.cnblogs.com/huyong/archive/2011/04/27/2030466.html>