单车男

每天进步一点点,积累下来就不得了...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年8月5日

摘要: 最近在写账套工具,写一些总结和体会。1) 注册DLL,OCX最简单的方法,直接使用Process.Start(cmd路径)来执行注册,其中cmd为可参考为如下regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll"@echo offecho 注册成功,谢谢您的使用!Pause2)复制文件夹路径复制文件很简单,但是直接复制文件夹呢,就稍微麻烦些,因为毕竟微软没提供这样的API,所以只能自己写参考了下网上有人提供的源代码,再稍微修改了下,其实思路很简单,就是用递归的方式,一层一层的复制,直 阅读全文

posted @ 2013-08-05 15:47 单车男 阅读(444) 评论(0) 推荐(0) 编辑

2012年9月17日

摘要: 临时表或表变量我们一般用来充当中间结果集,很多时候都在用,但真正了解他们之间的区别的人还是很少的,网上流传的说法也不甚统一,所以今天我就做一个实验,让我们看看临时表和表变量的区别,以及他们各自的用途。执行以下语句,对测试环境做准备DBCC DROPCLEANBUFFERS --从缓冲池中删除所有清除缓冲区DBCC FREEPROCCACHE --清除计划缓存CHECKPOINT --写入MDF中1) 关于存储表变量在内存中,是否真的不写磁盘,不会造成任何IO开销?use tempdb exec sp_spaceused--database_name database_siz... 阅读全文

posted @ 2012-09-17 17:24 单车男 阅读(1026) 评论(1) 推荐(2) 编辑

2012年8月6日

摘要: 1. 排名函数与PARTITION BYView Code --所有数据SELECT * FROM dbo.student AS a INNER JOIN dbo.ScoreTB AS b ON a.Id = b.stuid WHERE scorename = '语文'---------------------------------------------ROW_NUMBER() 的使用 生成列从1开始依次增加-------------------------------------------SELECT ROW_NUMBER() OVER (ORDER BY B.SCOR 阅读全文

posted @ 2012-08-06 23:04 单车男 阅读(729) 评论(3) 推荐(3) 编辑

2012年7月12日

摘要: 最近在改报表分页,遇到一个很棘手的问题,需要将比较正常的数据记录新增加两列。第一列按照goodsid局部分组,然后在分组后的记录中按照audittime升序排序得到序号,从而显示某商品得第几次变迁。第二列是取该商品的最后变迁价格newPrice,然后将该值赋到这个商品的其他行中,例如对于goodsid为1的,最后一个newprice为20,那么对于所有goodsid为1的记录curprice都写为20,从而达到外面控件分布的效果。如下,比较正常的数据记录:需要增加特殊的两列效果为:以前的做法是在C#服务端将正常记录取出来(先按照GoodsId和audittime排序再取的),然后遍历整个数据集 阅读全文

posted @ 2012-07-12 23:56 单车男 阅读(447) 评论(0) 推荐(0) 编辑

2012年7月5日

摘要: 写这篇文章,主要是总结最近学到的一些新知识,这些特性不一定是SQLSERVER最新版才有,大多数是2008新特性,有些甚至是更早。如果有不懂的地方,建议大家去百度谷歌搜搜,本文不做详细阐述,有错误的地方,欢迎大家批评指正。1. TVP, 表变量,临时表,CTE 的区别TVP和临时表都是可以索引的,总是存在tempdb中,会增加系统数据库开销,而表变量和CTE只有在内存溢出时才会被写入tempdb中。对于数据量大,并且反复使用,反复进行查询关联的,建议使用临时表或TVP,数据量小,使用表变量或CTE比较合适2. sql_variant 万能类型可以存放所有数据类型,相当于C#中的object数据 阅读全文

posted @ 2012-07-05 00:23 单车男 阅读(832) 评论(1) 推荐(0) 编辑

2012年6月27日

摘要: 在公司论坛里,看到一篇帖子,叫“高质量编码必会”,是技术研究部老大发的,附件有一个PDF,处于好奇,我下载下来阅读了下,觉得还不错,所以和大家简单分享下我觉得比较有用的要点,有兴趣的同学可以把文件下载下来阅读,内容通俗易懂,很适用。1)工具采用 TeamCity FindDup 查找重复代码点 (我没用过,也没找到相关工具,有用过的人请告知)采用 Dpack 定位函数、类 (我没用过,也没找到相关工具,有用过的人请告知)采用 Everything 查找文件采用 coderush 自动安全的重构另外我推荐一个工具SQL Prompt 5,在 SQLSERVER 里可以很方便的使用,主要是有表字段 阅读全文

posted @ 2012-06-27 22:54 单车男 阅读(837) 评论(5) 推荐(1) 编辑

2012年6月26日

摘要: 最近一直在研究winForm和webForm之间的调用,大家都知道,winForm是CS架构,webForm是BS架构,两种架构是不能直接通信的,那么真的就一点儿办法都没了吗?其实不然。看了网上很多资料,我总结出有两种方式可以实现。1)首先客户端需要用注册表写入协议,通过协议去找已经安装在客户端的winForm的exe文件,这时可以给窗体传入参数,例如 “helloworld://你个猪头”, helloworld是协议,后面”你个猪头“是传入的字符串。当然winForm的main方法写法也有不同,需要得到参数(也可以不要参数,如果不需传参,直接调用) /// <summary>. 阅读全文

posted @ 2012-06-26 00:10 单车男 阅读(2994) 评论(1) 推荐(2) 编辑

2012年6月20日

摘要: 今天技术研究部(TRD)的一位DBA同事对我们系统提了一个调优BUG,用到了for xml path语句,我开始看了半天都不知道什么意思,后来看了下 http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html 后才知道他的用法,这里先附上调优的原文,大家先看看:-------------------------------------------------------------------------------程序调用中:在sql中用类似下面的语句替换: Select BillCode, isnull(list, 阅读全文

posted @ 2012-06-20 23:32 单车男 阅读(734) 评论(0) 推荐(0) 编辑

2012年6月17日

摘要: 先说说题外话,前段时间近一个月,我一直在做单据导入功能,其中就涉及到Excel操作,接触Excel后发现他的api说明并不多,好在网上有很多朋友贴出了一些代码,我在不断的挫折中吸取了很多教训,现共享出来,给大家参考。1. 最好在客户端使用,不要在B/S服务端使用,因为会受到IIS权限和占用内存影响,多人并发操作必然完蛋2. 需要引入两个DLL,Microsoft.Office.Interop.Excel.dll和office.dll,在加上项目的时候,会报错“类型“Microsoft.Office.Interop.Excel.ApplicationClass” 未定义构造函数无法嵌入互操作类型 阅读全文

posted @ 2012-06-17 22:18 单车男 阅读(34168) 评论(9) 推荐(11) 编辑

2012年6月10日

摘要: 本周技术研究部(TRD)的一名DBA 对我们编写SQL时的一些问题,进行了汇报讲演,以下是来自它的脚本,我在它讲演的基础上写出了自己想表述的,以便于大家相互交流学习。/*--注意:准备数据(可略过,非常耗时)CREATE TABLE CHECK1_T1( ID INT, C1 CHAR(8000))CREATE TABLE CHECK1_T2( ID INT, C1 CHAR(8000))DECLARE @I INTSET @I=1WHILE @I<=10000 BEGIN INSERT INTO CHECK1_T1 SELECT @I,'C1' INSER... 阅读全文

posted @ 2012-06-10 23:58 单车男 阅读(798) 评论(2) 推荐(2) 编辑