阅读全文posted @ 2010-07-08 11:03 Charles Chen 阅读(3482) 评论(25) 编辑
|
||||||||||||||||||||||||
|
摘要: 1、 C#事件是特殊的委托
2、 C#中使用委托模型来实现事件的。
3、 C#中的委托是一个引用类型,可以把它看成一个特殊的”类”。
阅读全文posted @ 2010-07-08 11:03 Charles Chen 阅读(3482) 评论(25) 编辑 摘要: 一、起因:一位同事在使用XmlDocument.Load("test.xml")方法加载xml文件时候,出现错误,错误是:test.xml文件找不到,也就是说程序找不到test.xml文件。 二、经过: 当出现这个毫无疑问的错误后,马上到应用程序的执行目录下去寻找是否存在test.xml文件。因为这里使用的相对路径,所以应当在当前程序执行目录下去寻找。但是奇怪的是应用程序的执行目录下是存在test...阅读全文 posted @ 2010-05-13 22:46 Charles Chen 阅读(766) 评论(1) 编辑 摘要: 记得已经写过一篇关于(Observer模式), http://www.cnblogs.com/Charles2008/archive/2008/10/06/1305116.html 发布/订阅简称(Pub/Sub)模式,这种Pub/Sub设计模式是observer的一种变体。Observer模式在Design patterns用于:一个对象(Observer)观察者被注入到另一个对象(主题Subj...阅读全文 posted @ 2009-03-07 15:17 Charles Chen 阅读(1129) 评论(0) 编辑 posted @ 2008-12-11 09:17 Charles Chen 阅读(3293) 评论(10) 编辑 posted @ 2008-10-21 07:00 Charles Chen 阅读(2023) 评论(7) 编辑 posted @ 2008-10-06 23:28 Charles Chen 阅读(441) 评论(0) 编辑 posted @ 2008-07-20 16:32 Charles Chen 阅读(3995) 评论(9) 编辑 摘要: 一、起因: 开发团队的一名开发人员突然离职,他把他负责的模块任务交给了我。其中一个模块是他写了一个用户控件,我在我的页面尚始终都用不起,运行时发生错误,错误消息是:The base class includes the field *****, but its type (****) is not compatible with the type of control (ASP.webuserc...阅读全文 posted @ 2008-06-27 14:02 Charles Chen 阅读(2458) 评论(10) 编辑 摘要: 最近比较空闲,我喜欢在空闲的时间来总结总结新的知识。记得一个项目中要实现Google Map中搜索功能。通过在网上查阅相关资料。原来是要使用GoogleMap提供的API函数来实现。下面我用GoogleMap来实现以个简单的Map,可以通过某个地区的经纬度来查询城市的地理位置。(支持缩放,移动等功能) 纬度 经度 源文件下载: 点击下载阅读全文 posted @ 2008-03-03 10:54 Charles Chen 阅读(1046) 评论(6) 编辑 摘要: 我们知道Reflector可以反编译IL代码,根据它可以查看到不同语言的源代码(如C#,VB.Net等),但是Reflector还可以导出成工程文件,得到源代码的工程项目文件。通过这种方式得到的工程文件如果用Visual Studio打开后,虽然大多数的问题是由于缺少引用“程序集”带来的编译不能通过,但是还是一些非与此相关的问题存在,需要对反编译的工程项目进行手动修改和调整。阅读全文 posted @ 2012-04-17 16:34 Charles Chen 阅读(89) 评论(0) 编辑 在项目中写了一个存储过程: Create PROCEDURE [dbo].[****] @ParkingAddress nvarchar(50) AS 要点:output是在存储过程中的参数的返回值(输出参数),而ReturnValue是存储过程返回的值(使用return关键字),一个存储过程可以有任意多个依靠参数返回的值,但只有一个ReturnValue。 一、获取存储过程的返回值--通过查询分析器获得 1、返回记录集的存储过程:执行结果是一个记录集,例如,从数据库中检索出符合某一个或几个条件的记录。 2、返回数值得的存储过程(也可称为标量存储过程),其执行完后返回一个值,例如数据库中执行一个有返回值的函数或命令。 3、行为存储过程,用来实现数据库的某个功能,而没有返回值,例如在数据库中的更新和删除操作。 另外:含有return的存储过程其返回值为return返回的那个值。 没有return的存储过程,无论执行结果又无结果集,其返回值都是0, 带有输出参数的存储过程,如果有RETURN则返回RETURN返回的那个值,如果要SELECT输出参数,则出现输出参数的值,和有无RETURN无关。 二、获取存储过程的返回值--通过程序获得 SqlParameter[] cmdParms = { .. ,new SqlParameter("@return",SqlDbType.Int)}; 得到返回值 object obj = cmdParms[cmdParms.Length - 1].Value; 根据上面的思路,最后在项目中通过 SqlParameter p = new SqlParameter("@ReturnValue", SqlDbType.Int);//这里的@ReturnValue可以根据需要自己命名,如果不命名系统将提供默认的一个名称。 SqlCommand.Parameters.Add(P); SqlCommand.ExecuteNonQuery(); object obj=SqlCommand.Parameters["ReturnValue"].Value; 就这样程序就得到存储过程中的返回值。 问题解决!
posted @ 2012-04-16 17:25 Charles Chen 阅读(49) 评论(0) 编辑 本文转载于T-Sql:字符串分组聚合,也许你还有更简单的办法? 今天在看订阅的RSS的时候,看到这么一个问题:T-Sql中如何对分组的信息进行聚合,并以逗号连接字符;也就是对一个表中的某个字段进行分组,然后对另一个字段聚合,如果表达得不太清楚,请看下面的表。 原表:
处理后的结果:
貌似很简单,以我的思考,先写一个聚合函数,然后再查询语句里面调用这个聚合函数;实际上还有更简单的办法,这是作者给出的解决办法,没有用到自定义聚合函数,他用的是FOR XML PATH(‘’)这样的处理方式,感觉真是爽 with t as(
select 'Charles' parent, 'William' child union select 'Charles', 'Harry' union select 'Anne', 'Peter' union select 'Anne', 'Zara' union select 'Andrew', 'Beatrice' union select 'Andrew', 'Eugenie' ) SELECT parent, STUFF( ( SELECT ','+ child FROM t a WHERE b.parent = a.parent FOR XML PATH('')),1 ,1, '') children FROM t b GROUP BY parent
如果你还有其他的解决办法,希望你也能给出你的答案, 多多益善
考虑到不熟悉STUFF()这个函数,故根据这个思路自己写了另外的方法: select parent,right(list,len(list)-1) from ( select parent, (SELECT ','+ children FROM t a where a.parent=b.parent FOR XML PATH('')) as list from t b group by parent ) x 最终查询出来的结果集和使用上面的Stuff函数是一样的. 另外补充一下关于Stuff函数的用法:
posted @ 2012-02-15 15:41 Charles Chen 阅读(65) 评论(0) 编辑 摘要: SQL中使用update inner join和delete inner join阅读全文 posted @ 2012-02-15 11:24 Charles Chen 阅读(51) 评论(0) 编辑 摘要: 唉,又是一次相当费力费时的系统维护,为了便于总结和思考,故对这次系统维护进行记录笔记!阅读全文 posted @ 2011-01-25 12:23 Charles Chen 阅读(282) 评论(0) 编辑 摘要: 这几天对SQL中的事务进行复习,来自于对客户项目维护引起的思考!先说说项目维护中遇到的问题:我们公司开发的软件项目,它建立在第三方公司开发项目(你见到过垄断主义的软件吗?)之上,数据库是直接的依赖关系,它偶尔出现死机的现象?阅读全文 posted @ 2010-12-15 13:57 Charles Chen 阅读(2101) 评论(26) 编辑 摘要: 设计模式的要点:设计模式(Design pattern)的鼻祖来至于建筑学领域。
建筑学定义的模式是:每个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。
然后在软件设计里面,从建筑学那边借鉴过来,软件设计模式描述了在软件设计过程中某一类常见问题的一般性解决方案。通过建筑学和软件设计的不同领域,其实也能看出有很强的类比性。通过对比可以看出,软件设计模式描述了常见问题的一般性解决方案。其实我们知道在软件设计过程中,设计软件其实有很多的陷阱,你可以拿到工具和语言可以做各种各样的事情,解决各种各样的问题。阅读全文 posted @ 2010-12-13 13:53 Charles Chen 阅读(309) 评论(0) 编辑 摘要: 记得曾经学习State设计模式的时候,记录了学习笔记.NET下的状态(State)模式 ------行为型模式 ,而最近一段时间我借助于项目的重构时间温习了关于行为型的模式----State(状态)模式。 关于State设计模式的要点和代码结构在.NET下的状态(State)模式 ------行为型模式一文中已经有比较的清晰的说明,这里我就通过一个Demo来从另一个方面介绍关于State模式的分析。 案例Demo:这样的一个场景:有一个关于PDA设备的在押人员点名的管理系统,在点名的过程中,在押人员有不同的状态(在所,不在所,外出就医,外出探亲等),不同的在押状态在PDA上显示的方式和点名的行阅读全文 posted @ 2010-12-10 15:10 Charles Chen 阅读(191) 评论(0) 编辑 |
||||||||||||||||||||||||