Blog挂了好几天

Chris 2010/9/07 23:09
今天才终于修复。 原因找到,但根本原因未知。不知道为什么会有几个size为0的xml文件。看来要准备换其他存储方式了。

疑难杂症 , ,

很有用的SQL SERVER Date、Time和DateTime函数

Chris 2010/8/30 21:08
今天遇到一个有意思的统计,大意是这样的:统计一批业务员每个月的销售状况。由于业务员的销售记录保存的是完整的时间,所以我需要提取完整时间中的月份并以月份Group By统计。 在之前我有记录过一篇博文获得时间中的月份,现在我们来看看更多的Date、Time和DateTime函数。 create  function DateOnly(@DateTime DateTime) -- Returns @DateTime 的日期部分; i.e., 它会去掉@DateTime的时间部分 returns datetime as   ... [More]

数据库 ,

贝多芬的手指有多灵活?

Chris 2010/8/28 15:08
令人惊叹的钢琴指法。 又想起那著名的“练习一万小时”。 通过脑机制最新科研成果,作者为人们指出一条天才养成之路。科伊尔在大量实例的支持下,推翻了天才天生的观念,提出能够提升天赋、优化成就的3要素:刻苦练习、点燃激情、专业指导。 http://www.geekonomics10000.com/519 http://data.book.163.com/book/home/009200040013/0000KYbc.html 以及钢琴曲下载: http://www.verycd.com/search/folders/%E6%82%B2%E6%80%86

杂谈

修复LINQPad的DEMO数据库链接

Chris 2010/8/21 23:08
孔圣人曾说“温故知新”,我们不能总是朝着新鲜的东西看,时不时温习旧的知识也很重要。这几天写程序写得头昏脑胀,又看了看LINQ相关的知识却也有些收获。不过这里并不是要说这些收获,而是是的LINQPad这个学习LINQ的好工具。 这天发现家里的计算机中的LINQPad不能链接DEMO数据,因为知道LINQPad默认是将自己的测试数据attach到SQLExpress实例所以立刻认为安装一个SQLExpress实例问题就解决了。谁知道不是安装一个实例就OK的,也可能遇到问题。注意这里是“也可能”。 我下载了MS SQL SERVER EXPRESS 2008——貌似体积又比EXPRESS 200... [More]

.NET, LINQ ,

在一个TSQL语句中多次使用Count聚合函数

Chris 2010/8/20 22:08
做报表的时候经常会用到聚合函数,有时候可能需要在一个查询里面写多个Count,只是Count的条件不一样。这种要怎么写呢? 我们可以用子查询来做这样的事: SELECT Count_1=(SELECT Count(*) FROM Table1 WHERE Reference = 1), Count_2=(SELECT Count(*) FROM Table1 WHERE Reference = 2) 如果需要分组统计,上面语句就有心无力了,于是我们这样写: 示例数据: Departments PK - DeptID DeptName ... [More]

数据库

是时候改变——让代码的修改变得“可控”

Chris 2010/8/18 22:08
真是不测不知道一测吓一跳!一个查询的修改导致N个地方的代码不能运行。 这天自己因为感觉不放心(为什么不放心?怕自己考虑不周全,怕自己遗漏需求上的功能点。)又对前几天已经做过测试的页面进行测试,结果吓一跳:好几个页面出现dead yellow page!原来我为了代码的重用将一个查询(存在于代码中作为字符串常量的SQL语句)放入视图中,这样需要动态构建查询条件的查询写起来会更加简洁。这些动态构建的查询条件会作用在视图上,我修改了一些动态构建查询条件的代码,运行测试似乎一切正常。做好这个修改之后感觉良好,代码似乎更加清晰,甚至看起来比以前更好维护。但是今天却给我当头一棒。 为什么会... [More]

杂谈

SQL:使用CTE(Common Table Expression)进行递归查询

Chris 2010/8/17 23:08
SQL SERVER 2005之后提供了CTE(Common Table Expression)可以帮助我们写递归查询。在以前版本的SQL SERVER中我们要实现“无限极”分类往往比较麻烦,而现在我们的代码将更加简单。 USE AdventureWorks GO WITH Emp_CTE AS ( -------1. SELECT EmployeeID, ContactID, LoginID, ManagerID, Title, BirthDate FROM HumanResources.Employee WHERE Manager... [More]

数据库 ,

忘记给显卡插上辅助电源

Chris 2010/8/15 22:08
几天在太平洋上看到有显卡有两个辅助电源插座——现在的显卡功耗是越来越离谱了,与现在社会提倡的低碳环保背道而驰啊! 今天打开电脑得到这样的提示: 呵呵,我清理灰尘之后居然忘记接上辅助电源。没想到那个电源不接显卡也是可以运行的。那我就看看不接辅助电源和接上辅助电源显卡的性能是不是真的有区别? 首先记录未接电源时显卡的表现: 红色为显卡。 压力测试: 显卡最高达到62° 结果有点意外,插上辅助电源之后似乎速度没有什么增强? 也不知道这个是不是能够说明显卡性能——专业的测试工具俺就不去下载了。 后记:我又把一直闲置的内存插上去,看看清理完灰尘的电脑会... [More]

杂谈

给电脑洗了个澡

Chris 2010/8/13 22:08
前段时间电脑总是问题不断——死机、花屏。花屏的问题直接导致我“心情阴郁”地将玩了不够一个回合的星际争霸II给删除了。开始游戏没几分钟就出现花屏,一直认为是驱动的问题。但是无论我如何折腾驱动程序都不能改善情况,有时候看看网页也会花屏。最近干脆电脑也经常死机,有次死机之后主板的CMOS居然自己恢复默认值,我一度准备换主板。和朋友讨论了一番觉得可能是散热的问题,于是用鲁大师监测硬件温度,这时发现显卡温度达到64°左右就会出现花屏或者死机的现象。拷机的时候曾出现68°。似乎显卡温度跑到70°左右也能正常运作不少见吧?怎么我的显卡耐高温水平就这么差呢?不过现象也表明散热问题已经导致电脑运行不稳定了。于是... [More]

杂谈

实现定时提醒,第0篇

Chris 2010/8/10 22:08
现在的人们实在是太忙了,忙起来就什么都忘记了;当然也有实在太闲了,闲起来什么都想不起来——这个世界总是很多元啊!因此,定时提醒程序很常见。今天来思考如何实现一个定时提醒程序,虽然我在工作中已经开发了一个定时提醒程序(多用户)但是仍然决定继续探讨这个命题,最重要的是我将参考测试驱动开发的方式进行开发,文章也将是一个“迭代过程”记录。由于对测试驱动开发不是很熟悉,也许项目最终会失败。但失败换来的可能是迈向成功的一小步。 先列出初步的用户故事: 可以新增提醒 可以删除提醒 可以修改提醒 提醒可以... [More]

.NET, 互联网

RadioButtonList的SelectedIndexChanged事件在UpdatePanel中无效?

Chris 2010/8/05 21:08
我的需求是这样的,页面上有一个RadioButtonList,当点击RadioButtonList中的项目时显示不同的界面。我防止一个RadioButtonList控件在页面上,设置AutoPostBack为True,然后绑定事件。为了切换效果更好一些,我使用UpdatePanel,这样我们有了无刷新的效果。我们知道,使用UpdatePanel的最大好处就是编程变得简单,我们甚至不用写任何JS代码就可以实现异步回发,但是,这次事情似乎不是这么简单。 首先,如果你和我一样也是使用Visual Studio 2008,则也可能遇到这个问题。 问题就是SelectedIndexChanged只会... [More]

疑难杂症

下载安装Firefox4 beta 2和关闭Firefox拼写检查

Chris 2010/8/04 21:08
今天下载安装了Firefox 4 beta2,用了一天感觉不错。现在大家都不显示菜单栏——确实,有几个人日常浏览网站要使用菜单栏? 火狐4截图 我安装的大部分3.6插件都能在4里面使用,这是个好现象。使用一天之后感觉不像beta版,因为很稳定,几乎没有遇到过崩溃。 仍然可以打开火狐3.6,界面和4有些像——其实就是用一个插件来模拟4的界面。 火狐4对HTML5、CSS3有更进一步的支持。现在用火狐看网页也很好出现排版变乱的情况,不知道是火狐的兼容性更好还是现在的网页做得更好了。也可能是我常浏览的网站相对教专业,其网页也更标准吧。不过怎么说也是一个好现象。 不过就在昨天见到... [More]

软件使用

修复博客的搜索功能

Chris 2010/8/03 22:08
启航博客的搜索功能终于恢复。一段时期以来,博客的搜索功能一直处于瘫痪状态。我这懒人也没想到动手修复她。今天终于花了一点点时间找到问题所在并成功修复。 只要在页面顶部的输入框输入关键字然后回车就可以得到搜索结果。搜索是内容网站的灵魂啊,没有搜索功能的内容网站会变得很鸡肋,哈哈。 其实错误很简单,皮肤是基于老版本BlogEngine制作的,她没有兼容新版本的搜索JS。至今这个博客皮肤还未能很好的支持留言的回复,不过由于启航博客的互动性不高,留言大多是垃圾信息,所以目前没什么必要改进这个问题。 电脑死机的次数明显减少,看来清理灰尘起到了很大的作用。前几天可能是因为灰尘太厚导致机器过... [More]

疑难杂症 , ,

ROW_NUMBER取每组数据的第一条(或第N条)

Chris 2010/8/02 23:08
假设有这样一个场景:有一天,老板过来说,哦,又到了月底了,我们准备搞个先进评比,给业务部每个业务组的业绩第一名发奖,而且这种奖励形式要一直做下去,以后每个月都得评比。我可不想叫人手工做这些事情,你帮我搞定吧!唉,业务部又发奖(怎么说又),作为“服务”部门的我虽然羡慕却也只能使出浑身解数做好服务。 简单来说,这个任务就是“取每组业绩的第一名”。SQL SERVER 2000以前的版本就可能要伤脑筋了……这些版本的SQL SERVER分组第N条可不是那么好取的。 不过,好在SQL SERVER 2005以后的版本有ROW_NUMBER。基于ROW_NUMBER现在的写法大概类似于: s... [More]

疑难杂症 ,

糟了,忘记SQL SERVER 2005的SA密码……

Chris 2010/8/02 21:08
好长一段没有连接自己机器上的SQL SERVER 2005实例,今天想实验一个SQL语句的写法,没想到忘记SA的密码因而连接不了。这可怎么办呢? 原来有个“法门”可以帮我们解决这种困境。 以下示例不保证所有环境都能成功,我的操作系统是Windows 7,安装的是SQL SERVER 2005开发版。 1.打开开始菜单,输入sqlcmd; 2.如果开启了UAC,别回车,右键在sqlcmd打开菜单,“以管理员身份”运行; 出现个简单得不能再简单的命令提示符: 这个简单的家伙就是我们的“法门”,现在这种状态表示它已经连接到数据库实例!而且,这是个“可信连接”,也就是说你输入的命令都... [More]

疑难杂症

IIS7如何运行ASP程序?

Chris 2010/7/30 20:07
嗯,是Classic ASP,无论技术如何更新,这个世界上总是存在一些古董级的程序,呵呵。微软应该提供一个程序——可以将Classic ASP直接转换成ASP.NET程序。不过既然没有这种程序,咱也用不着纠结。至少IIS7还是可以运行ASP程序嘛。不过,记得要开启IIS7的ASP支持才行。 1. 按键盘Windows键,输入:windows 功能 2.回车,勾选如图中的ASP即可: 我真是太喜欢Windows Vista / 7 开始菜单的搜索功能了,方便,直接。 3.按Windows键,输入inetmgr,回车,可以看到IIS7管理界面上的ASP图标,嘿嘿。 一般情况下... [More]

疑难杂症

写一个简单的JS定时器和温习JS的面向对象

Chris 2010/7/23 23:07
一些JS读物会告诉我们“JS是一门面向对象的语言”,你甚至可以说JS里面一切都是对象——连函数也是对象。人们甚至用JS可以模拟类的继承,不过我并不想在JS上面使用继承——这可能会让JS代码变得更复杂。我喜欢的是JS可以模拟(为什么说“模拟”?因为它和C#这样的静态语言描述的类很不相同,我认为C#提供的class关键字更加像一个“类”)类的概念。 JS定义对象很简单,可以: 1. var obj = new Object(); 也可以: 2. var obj = {}; 只是我觉得这种形式的对象没什么意思,它不能“类”和“对象”的关系。 类可以用new关键字创建不同的... [More]

前端开发

JQuery UI Dialog和ASP.NET Button

Chris 2010/7/22 21:07
JQuery UI 控件比较好用,而她的Dialog控件可能是应用的比较频繁的控件。不过如果在ASP.NET WebForm中使用Dialog控件需要注意——可能放置在Dialog中的Button控件不能触发服务器端事件。有意思的是,其他控件可能触发服务器端事件(没有测试所有其他控件,但是TreeView、LinkButton是可以的)。 我们来做个实验,先创建一个简单的JQuery Dialog。 ASPX标签: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=&quo... [More]

ASP.NET

模板(Template)和子控件(ChildControl)

Chris 2010/7/21 21:07
悲剧,写了几十分钟的文章居然因电脑死机而变成电子消散了!这是我近2年来最严重的一次数据丢失事件——浙西写得兴起居然没有进行任何一次保存!大意失荆州是很痛苦的,再一次提醒自己有些事情就是不能放松,哪怕他可能一年也不会发生,但是一旦发生就会让你痛苦。 话说我前几天写了一个Tab控件,为了能够在设计时定义TabItem中的内容(也就是选项卡中的内容),我采用了“模板机制”。不过在Tab使用过程中发现模板中的控件不方便在CodeBehind类中使用,于是决定对Tab控件进行修改。 此次修改的关键一点是修改Tab控件的特性,原来是: ParseChildren(true, "Ite... [More]

ASP.NET

是否还在写反模式的代码?

Chris 2010/7/16 21:07
写软件是不是敲完代码就可以了?当加班成为常态,软件生成的链条已经开始腐烂。看过太多糟糕的代码,也写过不少糟糕的代码(但我一致在努力写更多好的代码而不是糟糕的代码,尽管这需要持续不断的改进),人们心情也因敲完的代码被发现无数的问题而变得更加糟糕。好像看不到变好的一天呀。 仔细核对一下自己曾经写的代码是不是有一下特征? 1.存储过程带有大量的条件逻辑,或复杂的业务规则。(这也不少见啊) 2. 带有大量条件输出的Web页面,已经将业务规则编码在MVC的视图页面中,例如使用if else检查在某个日期之前或少于某个价格的显示等。(这样的代码太常见了) 3. 单元测试需要数据... [More]

杂谈