代码改变世界

随笔档案-2010年12月

ROW_NUMBER () 与 PARTITION 组合妙用

2010-12-27 18:32 by 潇湘隐者, 1359 阅读, 收藏, 编辑
摘要: 前几天在一个群里面,有位网友问:在一个Book表里面里有字段AuthorID与Author表关联,现在要求按PublishDate字段倒序排列,列出每个作者的前五本书。要求有没有一条语句搞定的. 当时有个网友说不能一条语句解决问题,说只能用游标或临时表来解决。恰好我前阵子在整报表时遇到过类似的问题,当时解决过这个问题。当时我就告诉他用ROW_NUMBER与PARTITION来解决(前提是SQL SERVER 05或以上版本)。恰好现在有时间。正好把这个整理一下,即是对知识的梳理、巩固、总结,也希望能给其他人一些帮助建表脚本代码代码下面就是解决问题的脚本代码 阅读全文

SQL Server 复制需要有实际的服务器名称才能连接到服务器

2010-12-27 17:21 by 潇湘隐者, 5970 阅读, 收藏, 编辑
摘要: 机子由于在捣鼓DAC连接方式时,计算机名被修改了,被改成了kerry,直到最近几天由于计算机改名了,这个潜在的问题(本机数据库只是偶尔那里做实验)终于爆发了:我用连接服务器从其它服务器拷贝数据时报错,错误如下:SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称“xxxx”。 (Replication.Utilities):具体情况如图所示解决方法:从sys.sysservers 查看列 svrname 可以发现不是新的计算机名,问题就出在此处(如图所示)。先用 sp_dropserver 删除服务 阅读全文

System.Runtime.InteropServices.COMException (0x80040154)错误

2010-12-27 15:13 by 潇湘隐者, 29555 阅读, 收藏, 编辑
摘要: 用windwos服务、owc、excle组件生成Excel文档,然后通过邮件自动发生给公司管理层,本来在本地测试、配置都正常,但是部署到Window 2003服务器上,服务启动后,日志文件记录程序出错,错误如下所示System.Runtime.InteropServices.COMException(0x80040154): 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154。COM组件出错,上网查了下资料,在邀月的博客中http://www.cnblogs.com/down 阅读全文

你碰到过StreamReader.Peek的异常情况

2010-12-25 11:52 by 潇湘隐者, 2497 阅读, 收藏, 编辑
摘要: 工作中有个需求需要采集每个服每天用户的登录信息、道具使用情况等(用来做数据分析),这些信息、数据是通过技术那边的Http接口来获取,为了提高效率,节省流量,没有用XML或JSON格式的输出(数据量比较大,用XML格式或JSON格式或增加许多冗余的信息,优劣暂且不讨论),而是用简单的文本形式,Http接口数据的输出的格式如下:1:不同记录以"\r\n"分隔2:不同字段以“|||”分隔举个例子(假设),用户每天的登录信息:字段排列顺序为:GameID|||UserID|||UserName|||ServerID|||ServerName|||IP|||RegistedFrom|||FromSite 阅读全文

编译器处理while,for结构的小发现

2010-12-23 17:39 by 潇湘隐者, 2372 阅读, 收藏, 编辑
摘要: 在做一个日报自动报表发送项目时,因为项目是Windows服务,而且报表是每天自动发送,所以里面有这么一个函数 public void AutoReportSend() { while (true) { try { //采集时间没到,则结束。直到采集时间才开始采集作业 if (DateTime.Now < SystemConfiguration.GetInstance().GatherTim... 阅读全文

C#的逆向工程-IL指令集【转载】

2010-12-23 15:15 by 潇湘隐者, 898 阅读, 收藏, 编辑
摘要: 一些 IL 语言解释:跳转指令集合Public field Static Beq 如果两个值相等,则将控制转移到目标指令。Public field Static Beq_S 如果两个值相等,则将控制转移到目标指令(短格式)。Public field Static Bge 如果第一个值大于或等于第二个值,则将控制转移到目标指令。Public field Static Bge_S 如果第一个值大于或等于第二个值,则将控制转移到目标指令(短格式)。Public field Static Bge_Un 当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标... 阅读全文
点击右上角即可分享
微信分享提示