摘要: 原文:C#中的委托和事件 事件的由来     我们继续思考上面的程序:上面的三个方法都定义在Programe类中,这样做是为了理解的方便,实际应用中,通常都是 GreetPeople 在一个类中,ChineseGreeting和 EnglishGreeting 在另外的类中。现在你已经对委托有了初步了解,是时候对上面的例子做个改进了。假设我们将GreetingPe... 阅读全文
posted @ 2010-05-02 20:46 pocketz 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 原文:C#中的委托和事件 引言     委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使... 阅读全文
posted @ 2010-05-01 20:13 pocketz 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 方法一 在.NET Framework中并没有类似VB中的InputBox函数,虽然可以借助对VB 的Runtime引用,以在VB除外的.NET程序中使用VB的InputBox,但是为什么不自己写一个类实现类似的功能呢? 下面一个类实现了类似的InputBox函数的功能: 直接调用该类的静态方法ShowInputBox就可以,其中Title参数是对话框的Text,keyInfo参数是标签lbl... 阅读全文
posted @ 2010-04-30 22:01 pocketz 阅读(16398) 评论(0) 推荐(1) 编辑
摘要:   阅读全文
posted @ 2010-04-29 20:45 pocketz 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 具体要注意的: 1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。优化器将无法通过索引来确定将要命中的行数,因此需要搜索该表的所有行。 3.应尽量避免在... 阅读全文
posted @ 2010-04-29 20:37 pocketz 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 问题     现有字母和数字混合的数据,考虑按照数字或字符部分来排序。考虑这个视图: 阅读全文
posted @ 2010-04-28 20:42 pocketz 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 原贴:http://www.cnblogs.com/foundation/archive/2008/11/18/1335583.html#_Toc214762330 1.ADO.NET Data Service的DataServiceHost是一个WCF Service,由System.Data.Services.DataService<T>提供来自NET3.5 SP1 类库中的Sy... 阅读全文
posted @ 2010-04-27 00:09 pocketz 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 原贴:.net框架读书笔记---引用参数(ref/out) 默认情况下,CLR假设所有的方法参数都是按值传递参数的。当参数为引用类型的对象时,参数的传递是通过传递对象的引用(或)指针来完成的。这意味着方法可以改变引用对象,并且调用代码可以看到这种改变的结果。 对于值类型实例的参数来说,传递给方法的将是值类型实例的一个拷贝。这意味着方法会得到一份属于它自己的值类型实例的成员。而调用方法的代码中的... 阅读全文
posted @ 2010-04-27 00:07 pocketz 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 问题 阅读全文
posted @ 2010-04-27 00:01 pocketz 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 原贴:PetShop之ASP.NET缓存 《解剖PetShop》系列之四 四 PetShop之ASP.NET缓存 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用... 阅读全文
posted @ 2010-04-26 19:47 pocketz 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 问题 按子串的某一部分对查询结果排序。例如,要从EMP表中返回员工名字和职位,并且按照职位字段的最后两个字符排序,结果集应如下所示: ENAME JOB 解决方案 DB2、MySQL、Oracle和PostgreSQL 在ORDER BY子句中使用SUBSTR函数: 阅读全文
posted @ 2010-04-26 19:10 pocketz 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 问题 在EMP表中,首先按照DEPTNO的升序排序,然后按照工资的降序排序,结果集应该如下所示: EMPNO DEPTNO SAL ENAME JOB 解决方案 在ORDER BY子句中列出不同的排序列,使用逗号分隔: 讨论 在ORDER BY中,优先次序是从左到右。如果在... 阅读全文
posted @ 2010-04-26 15:10 pocketz 阅读(1847) 评论(0) 推荐(0) 编辑
摘要: 问题 已有一个自定义类型可以像List中的元素那样排序,还要使用BinarySearch方法在该列表对其自定义的类型制定查询规则。 解决方案 使用IComparable 和IComparer接口。使用3-1节中的Square类,以List和Sor... 阅读全文
posted @ 2010-04-26 13:54 pocketz 阅读(462) 评论(0) 推荐(1) 编辑
摘要: 问题 显示部门10中员工的名字、职位和工资,并按照工资的升序排列。结果集如下所示: ENAME JOB SAL ---------- --------- ---------- MILLER CLERK 1300 CLARK MANAGER 2450 KING PRESIDENT 5000 解决方案 阅读全文
posted @ 2010-04-25 22:41 pocketz 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 问题 要使自定义类型能够像一个List或SortedList结构那样可排序。一般情况下,我们会倾向于使用List.Sort方法或SortedList的内部排序机制,来定制由用户自定义数据类型组成的数组中的排序规则。此外,用户可能需要在SortedList集合中使用此类型。 阅读全文
posted @ 2010-04-24 20:30 pocketz 阅读(604) 评论(0) 推荐(1) 编辑
摘要: 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关 表示层:是系统的UI部分,负责使用者与整个系统的交互。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。... 阅读全文
posted @ 2010-04-23 19:04 pocketz 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 原贴:趣味算法:字符串反转的N种方法 老赵在反对北大青鸟的随笔中提到了数组反转。这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常)。因为我写着写着,就写出来8种方法……现在我们以字符串的反转为例,来介绍这几种方法并对它们的性能进行比较。 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array... 阅读全文
posted @ 2010-04-23 14:07 pocketz 阅读(501) 评论(1) 推荐(0) 编辑
摘要: 问题 需要返回匹配特定的子串或模式的行。考虑下面的查询结果集: 阅读全文
posted @ 2010-04-22 19:53 pocketz 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 问题 在一些行中包含空值,需要使用非空值来代替这些空值。 解决方案 使用COALESCE函数用实际值来替换空值: 阅读全文
posted @ 2010-04-22 19:36 pocketz 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 问题 查找某列值为空的所有行。 解决方案 要确定值是否为空,必须使用IS NULL。 阅读全文
posted @ 2010-04-21 20:38 pocketz 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 问题 从表中随机返回n条记录。可以修改下面的语句,要求下次执行时产生不同的结果集。 解决方案 使用DBMS支持的内置函数来生成随机数值。在ORDEY BY子句中使用该函数,对行进行随机排序,然后,使用前面的问题介绍的技巧,来限制所返回的顺序随机的行的数目。 阅读全文
posted @ 2010-04-21 17:33 pocketz 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2010-04-20 21:16 pocketz 阅读(1580) 评论(0) 推荐(0) 编辑
摘要: 问题 在SELECT语句中对数值进行IF-ELSE操作。例如,要产生一个结果集,如果一个员工的工资小于等于$2000,就返回消息UNDERPAID,如果大于等于$4000,就返回消息OVERPAID,如果在两者之间,就返回OK。结果集应如下所示: ENAME SAL STATUS ---------- ---------- ---------- SMITH ... 阅读全文
posted @ 2010-04-19 21:23 pocketz 阅读(412) 评论(1) 推荐(0) 编辑
摘要: 问题 将多列值作为一列返回。例如,要查询EMP表,返回如下结果 CLARK WORKS AS A MANAGER KING WORKS AS A PRESIDENT MILLER WORKS AS A CLERK 然而,要得到这个结果集的数据来自两个不同的列,EMP表中的ENAME列和JOB列。 ENAME JOB 阅读全文
posted @ 2010-04-19 20:39 pocketz 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 问题 前面已经使用了别名为查询提供更有意义的列名,而且也使用WHERE子句将一些数据排除掉,然而,我们还想在WHERE子句中引用别名。 阅读全文
posted @ 2010-04-18 22:27 pocketz 阅读(816) 评论(1) 推荐(0) 编辑
摘要: 问题 要判断一个字符串在另一个字符串中是其头部或尾部,此外,在搜索时控制大小写敏感。解决方法: 在一个string对象中使用EndsWith或StartsWith方法。使用EndsWith或StartsWith方法进行比较默认为大小写敏感。下面的代码 阅读全文
posted @ 2010-04-18 22:26 pocketz 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 问题 需要判断两个字符串是否相等,此外,还要在比较时控制其大小写敏感性解决方法 使用String类中的Compare静态方法比较两个字符串,是否采用大小写敏感进行比较取决于Compare重载方法的第三个参数。示例如下: 变量caseSensitiveResult的值为-1(表示lowerCase“小于”upperCase)或0(表示lowerCase“等于... 阅读全文
posted @ 2010-04-18 22:24 pocketz 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.cnblogs.com/bitfan/archive/2010/03/03/1677139.html从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NE... 阅读全文
posted @ 2010-04-18 20:52 pocketz 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 若要删除表中的所有行,则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。TRUNCATE TABLE 与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE 速度更快,并且使用更少的系统资源和事务日志资源。 格式:TRUNCATE TABLE [表名]与 DELETE 语句相比,TRUNCATE TABLE 具有以下优点:所用的事务日志空... 阅读全文
posted @ 2010-04-18 17:47 pocketz 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 问题     修改查询返回的列名使其更具有可读性并且容易理解。例如查询每个员工的工资和提成     “sal”是什么?是”sale”的缩写?还是某个人的名字?什么是“comm”,是表示“communication”吗?结果的标签应该更明确些。解决方案    要改变查询结果的列名,可以按这种格式使用AS关键字... 阅读全文
posted @ 2010-04-18 17:44 pocketz 阅读(178) 评论(0) 推荐(0) 编辑