摘要: Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一无二的角色,在这个单独的对象实例中,它集中了它所属类的所有权力,同时它也肩负了行使这种权力的职责!1.简单实现View Code public class Singleton{ static Singlet... 阅读全文
posted @ 2012-07-25 15:48 角立杰出 阅读(164) 评论(0) 推荐(0) 编辑
摘要: GROUP BY ROLLUP用来根据GROUP BY子句中列的此寻来增加层次化的数据汇总。如下示例获取了货架、产品名和产品的总数:SELECT i.Shelf,p.Name,SUM(i.Quantity) TotalFROM Production.ProductInventory iINNER JOIN Production.Product p ON i.ProductID=p.ProductIDGROUP BY ROLLUP(i.Shelf,p.Name)查询(部分)结果:Shelf Name TotalA Adjustable Race 761A ... 阅读全文
posted @ 2012-07-18 14:00 角立杰出 阅读(235) 评论(0) 推荐(0) 编辑
摘要: CUBE为结果集增加行,根据GROUP BY子句中的列来汇总总数值。示例:SELECTi.Shift,Sum(i.Quantity) Total FROMProduction.ProductInventory i GROUP BY CUBE(i.Shift)结果:Shift TotalA 26833B 12672C 19868D 17353NULL 76726(4行受影响)注意查询结果的红色部分,该行数据是使用CUBE自动添加的行显示以上几行查询到得数据的总和。 阅读全文
posted @ 2012-07-18 13:50 角立杰出 阅读(174) 评论(0) 推荐(0) 编辑
摘要: PIVOT运算符能让我们创建交叉的查询,他把值转化为多列,使用聚合来根据新列对数据进行分组。语法:FROM table_source PIVOT (aggregate_function(value_column) FOR pivot_column in (<column_list>)) table_alias下表描述PIVOT的参数:参数描述table_source要旋转数据的表 aggregate_function(value_column)要在某列上使用的集合函数pivot_column用于创建列头的列column_list要从旋转列中旋转的值table_alias旋转结果集的 阅读全文
posted @ 2012-07-18 13:35 角立杰出 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 使用TABLESAMPLE ,可以从from子句的表中提取一些样本行。这个取样可以给予一定百分比的行,当应用陈谷只需要一些样本行而不是完整地结果集时,可以使用TABLESAMPLE来实现。下面这个示例演示了使用TABLESAMPLE的一个查询:SELECT FristName,LastNameFrom Person.PersonTABLESAMPLE SYSTEM(2 PERCENT)这个查询返回下面的(部分)结果:FirstName LastNameAndre SuriAdam Turner...(232行受影响)再执行一次又返回一组新的(部分)结果:F... 阅读全文
posted @ 2012-07-18 12:00 角立杰出 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 字符串说明C本地货币格式D十进制格式,把整数转换为以10为基数的数,如果给定一个精度说明符,就加上前导0E科学计数法(指数)格式。精度说明符设置小数位数(默认为6位)。格式字符串的大小写(e或E)确定指数符号的大小写F固定点格式,精度说明付设置小数位数,可以为0G普通格式,使用E或F格式取决于哪种格式较简单。N数字格式,用逗号表示千分符,例如32 767.44P百分数格式X十六进制格式,精度说明福用于加上前导0 阅读全文
posted @ 2012-07-16 17:28 角立杰出 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 在C#中数据类型分为值类型和引用类型,值类型例如:int、bool、long等,引用类型例如:string等。从概念上,值类型和引用类型的区别是:值类型直接存储其值,而引用类型存储对值的引用。这两种类型存储在内存中的不同位置,值类型存储在内存的堆栈中,引用类型存储在托管堆上。注意,区分某个类型是值类型还是引用类型,因为这种存储位置的不同会有不同的影响。例如,int是值类型,int i=20;int j=i;//这两个语句会在内存的两个地方存储20;假设已经定义了一个类Vector,Vector是一个引用类型,他有一个int类型的成员变量Value;Vector x,y;x=new Vector 阅读全文
posted @ 2012-07-16 16:55 角立杰出 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 部分项目采用的是用xml文件来存储数据的,下面提供一个针对xml相关操作的类XMLHelper。public class XMLHelper { //定义XML文件的路径 protected string strXmlFile; //定义xml文档; protected XmlDocument objXmlDoc = new XmlDocument(); //xmlHelper的构造函数 //参数xmlFile为xml文件的存储路径 //参数 bOverWrite只是是否复写(重新创建xml文档) //sroot为创建的根元素 public XMLHelper(stri... 阅读全文
posted @ 2012-07-13 17:04 角立杰出 阅读(447) 评论(0) 推荐(0) 编辑

IT新闻: