- 博客(20)
- 资源 (11)
- 收藏
- 关注
原创 获取当前调用函数的信息
System.Diagnostics.StackTrace可以看到很多运行时当前堆栈中有用的信息,权威参考 http://msdn.microsoft.com/zh-cn/library/system.diagnostics.stacktrace.aspx 开始我是为了得到webservice中当前执行的方法的名称而找到的这个东西。下面代码演示了,一个类中方法的之间的调用次序 us
2008-06-30 16:25:00 2072 1
原创 SQLServer中使用javascript脚本验证数据
SQLServer中用sp_OACreate等一系列系统存储过程可以调用服务器上的Com对象,因此可以通过调用COM使得T-SQL站在巨人的肩膀上,但这需要很高的权限。 比如下面的测试脚本示范了通过调用javascript来实现用正则表达式验证数据表中Email的功能,你如果用过系统函数中类似isdate,isnumeric之类的功能就会去努力尝试用同样方便的方法实现自己的特定验证。--如
2008-06-27 18:13:00 2266
原创 SQL2005合理的索引设计
合理的索引有助于提升系统性能和可用程度,我工作中见过一个设计错误的索引导致sqlserver将一台4cpu的服务器资源用尽。 权威参考参见msdn http://msdn.microsoft.com/zh-cn/library/ms191195.aspx我这里结合自己的经验总结下面数条,供大家参考1、评估索引本身的占用空间,当索引相对于其数据本身过大可能会无明显作用。这种情况体
2008-06-26 17:32:00 3371 5
原创 SQLServer中的索引碎片处理
SQLServer数据库随着使用时间的增长,会让人觉得越来越慢,这个和你平时没有合理的维护计划有关系,定期处理索引碎片是一个必不可少的工作内容之一。 具体信息参考msdn http://msdn.microsoft.com/zh-cn/library/ms189858.aspx 我工作中碰到一张表,有320万记录,数据表占用空间800多兆,所有索引碎片大于80%,甚至有100%,索引占用空间5
2008-06-25 14:30:00 8806 2
原创 sql2005分区表示例
SQL2005分区表可以在一定程度上解决海量数据的性能问题,比如可以规避高访问量数据区段的io竞争,可以缩小你查询数据范围的索引大小。 msdn参考 http://msdn.microsoft.com/zh-cn/library/ms345146.aspx 一个完整的脚本示例 --drop database dbPartitionTest--测试数据库 cre
2008-06-24 15:15:00 2279 2
原创 c#线程基础之线程池
使用线程池可以更好的控制一系列线程的运行状态。msdn参考文档 http://msdn.microsoft.com/zh-cn/library/3dasc8as(VS.80).aspx 这里面ms把ThreadPool描述的很清楚了,但是它的例子太简单,只是简单介绍了如何用信号量数组来控制线程池的成员。一个更好的例子在ThreadPool.GetMaxThreads的介绍文档中。
2008-06-23 12:36:00 5854
原创 c#线程基础之线程控制
用ManualResetEvent和AutoResetEvent可以很好的控制线程的运行和线程之间的通信。msdn的参考为: http://msdn.microsoft.com/zh-cn/library/system.threading.autoresetevent.aspx http://msdn.microsoft.com/zh-cn/library/system.threading
2008-06-20 14:01:00 10686 9
原创 c#线程基础之原子操作
使用System.Threading.Interlocked类可以提高线程的安全性,具体资料参考msdn: http://msdn.microsoft.com/zh-cn/library/system.threading.interlocked.aspx 一般情况下,在子线程内使用i++这样的方式访问全局变量的方式是不安全的做法。测试下面的代码,在test1中经过100次number++,
2008-06-20 13:57:00 5119
原创 浮点数精度和IEEE754标准
浮点数精度丢失的"bug"不停的被种语言的开发人员或者数据库开发人员发现,或许有些人已经听说了其中的原因,但是仍然无法把握其出现的规律。解决问题的最好办法是让错误原因重现,而能让错误随时重现,说明该错误已经在你掌控之中,从而可以在真正的开发中去避免。 我们看两个场景: 一个是c#代码,他没有按照预期的输出0.1,而是0.10000000149011612 Console.WriteLi
2008-06-18 15:10:00 5438 1
原创 一个验证码识别的代码
字体固定,位置固定,干扰点和字体颜色深度没有交叉,比如下面的样例,是我前几天帮朋友写投票机刷票时碰到的一个具体案例。基本就三步,确定特征码-分割图片-逐个匹配,代码很简单,不超过100行using System;using System.Collections.Generic;using System.Text;using System.Drawing;
2008-06-17 14:44:00 10857 11
原创 SqlServer Management Objects简介
Smo是SqlServer Management Objects的简称,由SQL2005提供的管理对象,sql-dmo的逻辑进化版本,主要功能由C:/Program Files/Microsoft SQL Server/90/SDK/Assemblies下面的Microsoft.SqlServer.Smo.dll文件中的相关 对象来实现,可以直接由vs2005开发的程序来引用。 msdn参考文
2008-06-16 11:31:00 3229
原创 系统资源调用和shell32.dll简介
shell32.dll是Windows壳Shell相关应用程序接口动态链接库文件,用于打开网页和文件。一个直观的应用,新建一个文件夹-右键-属性-自定义-更改图标,里面默认的就是SystemRoot%/system32/SHELL32.dll这个文件。选择一个图标就可以为这个文件夹创建一个图标了。 xp下它有近8兆,因为里面有很多资源文件,只要用vs的编辑器打开文件,就能看到所有的图标,图片,
2008-06-13 18:53:00 10094
原创 Windows API入门简介
Windows API函数库对于缺乏Windows开发基础知识的人来说实在是太庞大了,以至于想入门却无从下手。其实只要了解一下他的基本模块功能就可以了,具体的实例可以在使用中来参考开发文档,从而慢慢积累。 常用三个模块是User32.dll,Kernel32.dll和gdi32.dll。 user32.dll是Windows用户界面相关应用程序接口.包括窗体创建,销毁,发送消息等,还有ho
2008-06-12 22:20:00 3146
原创 提高你的调试代码的效率
使用 System.Diagnostics.Debug和System.Diagnostics.Trace可以大幅度提高你的调试代码的效率和安全性。 参考链接: http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx http://msdn.microsoft.com/en-us/library/system
2008-06-11 17:56:00 2677 1
原创 恢复SQL2005误删除的数据
由于同事写错作业脚本,导致昨天晚上系统当中一张重要表的大概2万数据被删除。早上发现时的情况是,半夜(误操作之后)备份过数据,昨天的备份已经被新的备份取代而且没有日志备份..貌似这个策略不太合理。这个结果就是,没有误操作之前的全库备份,无法通过RESTORE LOG 来恢复。但是备份后没有清除日志,这个给恢复留了最后一丝希望。最后只能寄希望于Log Explorer。据我所知的是Log Expl
2008-06-11 17:49:00 2791 2
原创 3个字节的空txt文本文件
运行下面代码可以建立一个3个字节的空txt文本文件,想了解其原因的请参考文本文件的编码方式和unicode的具体资料,google上就有很多。System.IO.FileStream fs = new System.IO.FileStream(@"d:/ss.txt", System.IO.FileMode.Create); fs.Write(new byte[]
2008-06-10 18:14:00 3241
原创 IFormatProvider 接口
使用IFormatProvider 接口可以让你的代码变得优雅,msdn上有一个2-36进制转换的例子,你应该学习一下。 参考http://msdn.microsoft.com/zh-cn/library/system.iformatprovider(VS.80).aspx 其他相关借口还有ICustomFormatter和IFormattable. 具体的实例,在很多类型中都有T
2008-06-06 18:11:00 1614
原创 强大的数据报表中心
SQLSever统计报表如果碰到:海量数据+复杂+灵活,不应该使用传统的sql语句来实现,SQL Server Analysis Services可以让你有一个强大的数据中心。 参考http://technet.microsoft.com/zh-cn/library/ms175609.aspx。 你只要会用vs2005的商业智能模版和ADOMD.Net就可以实现了,而MDX语句也不比T-S
2008-06-06 18:09:00 1866
原创 ADSL拨号断线
可以通过调用控制台命令来实现ADSL拨号断线,命令格式 拨号 rasdial.exe 连接名 用户名 密码 断线 rasdial.exe /disconnect
2008-06-06 18:06:00 1213 2
原创 c#如何取得事件注册的方法
这个问题来自论坛,原文为如何判断事件已经被注册过? 用反射取出事件绑定的委托实例,然后用GetInvocationList就可以得到所有注册的方法了。代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using S
2008-06-05 15:15:00 10600 1
sql测试脚本生成工具
2008-12-16
ssis-循环导入excel
2008-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人