All Posts in 2012.6


SQL Server 2012中使用ORDER BY OFFSET及FETCH NEXT分页

原文:http://www.kodyaz.com/sql-server-2012/sql-paging-in-sql-server-2012-sql-order-by-offset-fetch-next-rows.aspx 翻译:汪宇杰 SQL Server 2011(译者注:后来重命名为2012)对于T-SQL的特性的增强中,有一个主要的特征就是可以使用“ORDER BY OFFSET n ROWS and FETCH NEXT n ROWS ONLY”语法进行分页。 本文会使用CodePlex上下载的SQL数据库样例AdventureWorks来演示SQL Server 2012 Denali中T-SQL的新特性。 请注意,直到微软把Denali在发布时命名为SQL Server 2012的时候,它在SQL Server社区中本应命名为SQL Server 2011或SQL11。你也可 …

Paging SQL

C#创建Windows服务入门图解(VS2010)

Windows服务大家都知道,比如Audio、Theme都是大家比较熟悉的服务,他们可以设为自动启动的,并且在注册表的开机自启动项里是没有痕迹的。所以以前曾经用来隐藏过木马。但以前搞的那个木马服务,是通过手工导注册表来做的。从来没正式的开发过一个服务。 之前做的一个项目里有人用Service的方法定时获取远程数据,很犀利,我感觉还是挺有用的。所以今天我也开荒了一下用C#开发Windows服务,正规的体验了一下开发流程。下面就是我做的最入门的例子,MSDN上有类似的教程,但MSDN漏了一些比较重要的步骤,所以大家请看我开荒成功的版本: 首先,在VS2010里建立一个Windows Service项目: 它会提供我们一个默认的Serivce1,可以删掉,换成自己的。比如Fucker.cs,当然,你得把Program.cs里调用的语句换掉: static void Main() { …

C# Service

ASP.NET自定义错误页的正确方法,返回真正状态码而不是200OK

昨天在码页面的时候手写了一次AJAX,蛋都碎了,顺便发现了一个问题。我在ajax的脚本里检查http的返回状态是不是200OK以此来判断ajax是否执行成功。结果发现网站里所有的404、500页面均返回200OK,我蛋都碎了。用Firebug检查了一下,确实如此。这是自定义错误页的问题。如果用了html静态页作为错误页,比如404.html,通常我们的web.config里会这样写: 这段配置是给IIS7的,以往写在customError里,其实问题是一样会出现的。这样写的问题就在于,如果遇到了404错误,它确实会返回我们的404.html,但状态码却不是404。这样搜索引擎会认为这是一个网站中已存在的页面并收入索引,如果被人搜到,搜索预览里会直接显示我们错误页的内容,非常傻逼,会被人笑了。不信可以用firebug检查一下: 而正确的结果应该是返回404状态 …

ASP.NET httpErrors

ASP.NET4网站编译时找不到Chart控件的解决办法

最近在努力把博客从WebForms改到MVC3上去,不过后台仍然打算用WebForm开发。结果我把后台的文件复制到MVC Solution下面,改好web.config后,编译的时候爆了: The type or namespace name 'Chart' does not exist in the namespace 'System.Web.UI.WebControls' (are you missing an assembly reference?) 我看了下引用,结果Refence里确实已经加入了System.Web,但这个错误还在。后来我发现WebControls命名空间下根本就没有Chart,这个Chart其实是ASP.NET4自带的控件,应该在“System.Web.UI.DataVisualization”命名空间里。 所以只要添加一个System.Web.UI. …

ASP.NET Chart

在IIS里部署WCF以及在Service中使用List泛型而不是Array的方法

最近在公司做的是WCF的一个项目,之前从来没玩过WCF,有些陌生。所以把碰到的问题都记录下来以备参考。 首先在IIS里部署WCF很简单。 1. 保证你先有一个网站,并在这个站点上点右键,添加一个应用程序。 2.在弹出的对话框里选择WCF的根目录,并给他起个名字。 3. 如果你的Serivce是.NET4开发的,那就要到应用程序池里改下.NET版本 4. 在浏览器里访问你的service地址,就应该能成功了。 在使用这个Service编程的时候,一开始我发现List类型全变成了Array,也难怪,Serivce的标准就是XML里放的一个个node作为数组的元素。以前用脚本调用的时候就用的是JSON的array,现在在C#里我们其实可以通过设置仍然使用List类型: 1. 在服务引用上点右键,选择配置服务引用(我不知道中文版VS是不是这个名字) 2. 在集合类型里选择“System. …

Array IIS List Service WCF

Read Excel 2010 via C#

昨天一个同学让我帮忙写个小工具,读一个Excel,只读B列的内容。我拿C#写了一个.NET4的winform程序。虽然简单,但有很多可圈可点的地方,因此撰写本文以警后人。 那个Excel是2010格式的,所以我们先要安装AccessDatabaseEngine,下载地址如下: http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe 这样程序读取Excel的时候就不会抛出OleDb驱动未注册的异常了。 我们先看看Excel文件,格式很简单: 我们需要读的,是B列除标题以外的内容。即B2到B6的内容,观察到它是字符串,所以程序里要作为string读取。 程序界面设计如下,点击ReadExcel后,会将B列的内容显示到listBox1里: …

C# DataTable Excel LINQ

ASP.NET中使用Razor导致自定义Membership失效的解决办法

最近在研究Razor和MVC,打算逐步把博客用Razor重写一边。今天一上手就碰到个蛋碎的问题。不管是在MVC应用程序,还是传统的WebForm项目中添加Razor页(既.cshtml类型的页面),就会导致自定义的Membership Provider失效。如果去掉Membership的配置则一切正常。 具体问题表现在有两个地方报错: 1. 运行时报错:Parser Error Message: Default Membership Provider could not be found. 2. 编译时报错:Error    58    The pre-application start initialization method Start on type System.Web.WebPages.Deployment.PreApplicationStartCode threw an …

Membership Razor Web.Config

使用批处理及Windows计划任务做每日备份

我们电脑里常常有些重要数据需要定期备份,然而每次都人工操作非常麻烦。并且,在有的特殊情况下,没有办法人工操作(比如公司下班以后,在没人的时候希望服务器做一些数据备份操作)。所以我们需要让Windows自己来完成这些重复性的劳动。 本文的示例是我自己的博客项目,我将创建一个批处理,用于把“E:\WebProject\EdiBlog”文件夹打包压缩,并按日期建立备份文件夹。之后创建一个计划任务,让Windows每天晚上9点运行这个批处理。 首先,批处理很简单,代码如下,将它保存为RunBackup.bat @echo off @SET EXEPATH="C:\Program Files\7-Zip\7z.exe" @SET PROJECTPATH="E:\WebProject\EdiBlog" %EXEPATH% a -tzip "G:\EdiBlogBackup\%date:~0,4%- …

Windows

给编程初学者的建议

本人出于兴趣驱使,从初中就开始研究计算机及编程,但我不是神童,我没有写过9000个软件,也没有90天写过40w行代码,我只是自认为对编程稍有门路罢了。如今快毕业了,在一家挨踢企业实习。在学习的道路上经历了很多,也感悟了很多——编程以外的道理。有些现象让我看在眼里,疼在蛋上。因此我决定撰文,旨在引导编程初学者一个正确的学习方式,帮助他们少走弯路。本文适合大一新生,以及对编程有兴趣的同学阅读。如有意见,欢迎到我邮箱拍砖。edi.wang@outlook.com 一、你为什么要编程 兴趣第一 我必须要说的是,据我观察,以及自身体会发现,要想学好编程,最好的前提条件就是兴趣。但不是每个学编程的人对此都有兴趣,并且,要让一个没有心思研究编程的人静下心来学习这门需要大量时间和精力才能入门的学科,是相当难办的。我的重点不在如何教你去培养兴趣,我不是教育砖家。我要说明的是,如果你有兴趣,那恭喜你,你一定可 …

Programming