2011年11月29日
摘要: From: http://www.cnblogs.com/lovewindy/archive/2005/02/19/105959.html在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚簇索引。不过这个定义太抽象了。在SQL Server中,索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。如下图: 非聚簇索引 聚簇索引 聚簇索引与非聚簇索引的本质区别到底是什. 阅读全文
posted @ 2011-11-29 10:46 张林春 阅读(221) 评论(0) 推荐(0) 编辑
  2011年11月25日
摘要: 程序如下所示 class Program { static void Main(string[] args) { 1、 Singleton.getInstance(); 2、Singleton s = new Singleton(); Console.ReadLine(); } }public class Singleton { private static int instance; public Singleton() { Console.WriteLine("no static Singleton"); } static Singleton() { Console.W 阅读全文
posted @ 2011-11-25 11:37 张林春 阅读(198) 评论(0) 推荐(0) 编辑
  2011年11月24日
摘要: 一、建立类库项目SpringNetDemo.DAO,同时建立两个文件1、IBLL.csnamespace SpringNetDemo.DAO{ public interface IPersonDao { void Save(); }}2、BLL.csnamespace SpringNetDemo.DAO{ public class PersonDao:IPersonDao { public void Save() { Console.WriteLine("save person...."); } }}二、建立控制台应用程序,命名SpringNetDemo.Test,并引用S 阅读全文
posted @ 2011-11-24 16:11 张林春 阅读(1990) 评论(2) 推荐(2) 编辑
  2011年11月18日
摘要: 1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。使用ROSE 生成的代码是这样的: classC1...{public:C2*theC2;};classC2...{public:C1*theC1;};双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。单 阅读全文
posted @ 2011-11-18 14:44 张林春 阅读(225) 评论(0) 推荐(0) 编辑
  2011年11月17日
摘要: 今天,我们将王兴魁老师JQuery 实战第三讲:菜单 这部分内容通过文字的形式体现出来,建议大家边看这段视频,边进行实践,理解这部分知识是完全轻松愉快的事情。下面我们首先将最终的效果展现出来,按照这个效果,我们一步一步去完善。 纵向菜单横向菜单(通过鼠标移动来实现菜单隐藏/显示)首先,我们通过html文件来实现大致效果,建立menu.htm文件。在html中添加如下代码:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><body& 阅读全文
posted @ 2011-11-17 10:26 张林春 阅读(978) 评论(0) 推荐(1) 编辑
  2011年11月7日
摘要: 延迟加载,也较延迟实例化,延迟初始化等,主要表达的思想就是,把对象的创建延迟到使用的时候创建,而不是对象实例化的时候创建。这种方式避免了性能的浪费。当创建一个对象的子对象开销比较大时,而且有可能在程序中用不到这个子对象,那么久可以考虑用延迟加载的方式来创建子对象。另外就是当一个程序启动时,需要创建多个对象,但仅有几个对象需要立即使用,那么可以将一些不必要的初始化工作延迟到使用的时候。这样可以提高程序的启动速度。FramWork4.0中提供了一个包装类Lazy<T>,可以轻松实现延迟加载。今天就先从延迟加载开始学起。一、延迟加载1、Class Singleton{ private s 阅读全文
posted @ 2011-11-07 14:44 张林春 阅读(4645) 评论(0) 推荐(0) 编辑
  2011年11月4日
摘要: 1、有以表结构如下id goodsid scount type6 3 40 out5 2 30 in4 1 45 out3 3 20 out2 2 20 in1 1 10 in要查询到如下结果goodsid 进货 出库 库存解:select goodsid,sum(a.sin) as aa,sum(a.sout) as bb ,sum(a.sin)-sum(a.sout)from(select id,goodsid, case type when 'in' then scount else '0' end as sin,case type when 'o 阅读全文
posted @ 2011-11-04 15:43 张林春 阅读(220) 评论(0) 推荐(0) 编辑
摘要: namespace ConsoleApplication2{ //最简单的委托的用法----------------------------------- //delegate void SayHello(string pString);//声明一个委托 //class Program //{ // static void Main(string[] args) // { // SayHello sh = EnglishHello; // sh("English"); // sh = new Program().ChineseHello; // sh("Chine 阅读全文
posted @ 2011-11-04 09:50 张林春 阅读(252) 评论(0) 推荐(0) 编辑
  2011年11月2日
摘要: tb11 1111 2 1111 3 1111 tb21 [Null]2 [Null]3 66 4 55 1、select t1.ID, t1.NAME,t2.id,t2.name from TB1 t1 right join tb2 t2 on t1.id=t2.id where t1.id is not null结果1 11 1 [Null]2 22 2 [Null]3 [Null]3 66 2、select t1.ID, t1.NAME,t2.id,t2.name from TB1 t1 right join tb2 t2 on t1.id=t2.id and t1.id is no.. 阅读全文
posted @ 2011-11-02 17:14 张林春 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 开源项目FluorineFx就是专门针对.NET平台与Flex通信提供的AMF(ActionScript Message Format)协议通信网关,我们可以通过FluorineFx很方便的完成与.NET的通信。 另外还可以轻松的实现及时文字沟通、视频语音通信等及时交互系统的开发。 FluorineFx官方提供了安装包的下载和在线文档,可以帮助我们有效的利用FluorineFx来开发。FluroineFx官方网站:http://www.fluorinefx.com/FluroineFx下载地址:http://www.fluorinefx.com/download.html FluroineF. 阅读全文
posted @ 2011-11-02 14:24 张林春 阅读(652) 评论(0) 推荐(0) 编辑