- 博客(10)
- 收藏
- 关注
原创 结构性模式-桥接模式
<br />桥接模式(Bridge)用于将抽象部分和实现部分分离开来,使其相互独立,可以各自变化,又可以动态的进行组合.<br /> 例如:人分为男人、女人, 其又有行为吃饭、睡觉等,如何将其通过某种方式动态绑定,而不是固定的进行绑定,就可以使用桥接模式,如: <br /> publicinterfaceIPerson<br /> {<br /> string Query();<br /> } // interface IPerson<br /> p
2010-06-30 01:40:00 260
原创 获得自增列的值
<br />SQL Server中获得自增列的值有三个方法,分别为:<br />1. IDENT_CURRENT: 返回为某个会话和作用域中指定的表或视图生成的最新的标识值.<br /> 语法: IDENT_CURRENT("table_name")<br />2. @@IDENTITY: 返回为跨所有作用域的当前会话中的某个表生成的最新标识值.<br /> 语法: @@IDENTITY<br />3. SCOPE_IDENTITY: 返回为当前会话和当前作用域中的某个表生成
2010-06-29 01:24:00 676 1
原创 结构性模式-适配器模式
<br />适配器模式(Adapter)主要是用于将一个类的接口转化为使用者希望的另一个接口.使原本因为接口不兼容而不能一起工作的类可以一起工作.<br /> 在软件开发过程中经常会遇到这类问题,在新的项目中使用现有的一些组件,而这些组件的接口与新的项目的接口不一致,如何使用现有的运行良好的代码,而又能满足新项目的接口规范.这就可以通过适配器模式来实现,例如:<br /> publicclassOldClass<br /> {<br /> publicstring
2010-06-29 01:00:00 237
原创 创建模式-原型模式以及单态模式
<br /> 原型模式(Proto)是创建一个对象,并通过拷贝这个对象来创建新的对象。<br /> 浅拷贝复制对象的基本类型,对对象类型不进行拷贝,只是产生引用。<br /> 深拷贝复制对象的基本类型,以及对象类型。<br /> .NET提供了MemberWiseClone方法以及ICloneable接口用于实现浅拷贝以及深拷贝,例如:<br /> publicclassPerson<br /> {<br /> pub
2010-06-27 15:19:00 224
原创 分页存储过程
<br /><br />自己写的一个SQL Server分页存储过程<br />CREATEPROCEDUREemployee_query<br /> @page_index int,<br /> @page_size int<br />AS<br /> SETNOCOUNTON<br /> <br /> DECLARE@countINT<br /> SET@count=(@page_index- 1)*@page_size<br /> <br />
2010-06-26 19:20:00 416
原创 C#调用Oracle存储过程并返回结果集
1.创建一个存储过程:createorreplaceprocedure GET_PERSON( RC1 outsys_refcursor, RC2 outsys_refcursor)isbegin open RC1 for select * from PERSON; open RC2 for select * from PERSON;end GET_PERSON;2.C#代码OracleConnection conn = new OracleConnection("Data Sou
2010-06-26 19:13:00 2414
原创 创建模式-生成器模式
生成器模式(Builder)将一个复杂对象的创建与表示分离开,对其复杂的创建过程和部件进行解耦,使同样的创建过程可以创建不同的表示. 如果当你的对象的创建过程可以和每个部件的创建过程分离开,并且可能通过组装不同的创建部件可以生成不同的对象. 如同生成一个汽车,你可以通过不同的组装方式来创建一个不同类型的汽车. publicinterfaceIBuilder { void BuildEngine(); // 发动机
2010-06-26 17:50:00 291
原创 创建模式-工厂模式
<br />简单工厂模式又叫静态工程模式,它主要是使用一个工厂类根据传入的参数来创建一个继承于同一个基类的多个不同子类的实例。<br />假如你需要编写一个数据访问模块,用于支持对Sql Server、Oracle等多种数据库的支持,就可以考虑使用工厂模式来完成,例如:<br /> publicinterfaceIDataAccess<br /> {<br /> int ExecuteNonQuery(string sql);<br /> } // interface I
2010-06-26 11:58:00 431
原创 DataReader和DataSet的区别
1. 获取数据的方式 DataReader为在线操作数据, DataReader会一直占用SqlConnection连接,在其操作中其它操作不可以再使用SqlConnection连接对象。 DataSet为离线操作数据,DataSet会将数据一次性读入内存,然后断开连接,这是其它操作就可以使用SqlConnection连接对象。 由于DataReader一次只读取一行数据,所以占用内存较小。但DataReader为只进的,也就是只能单方向向前读取,如果你想回头去读取上一条数据是不允许的。
2010-06-24 14:44:00 5042
原创 数据库性能调整
<br /> 数据库性能调整是一项长期的且极具挑战性的工作,它可以很大程度的展示你的能力,遵循一个系统的方法来调整数据库性能尤其重要.可以参照以下方面:<br /> 1.正确的设计数据库结构,尽可能在数据库规范和可用性方面寻找一个平衡点,不可一味的强求设计规范,更不可将其弃之不顾.很多数据库的性能隐患都是在数据库设计阶段埋下的.<br /> 2.优化数据库访问的SQL代码.将消耗资源的SQL代码尽量封装成存储过程,在经常使用的表上创建索引时一定要慎重.<br /> 3.调整I/O系统
2010-06-23 21:39:00 512
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人