03 2012 档案
摘要:Question : Whilst investigating a memory leak I discovered that it was caused by calling NewRow() on a Table inside a loop many times. However the DataRow created was never added to the Table Rows collection and the Table Rows Count never got above zero.My question is why does this use up more memor
阅读全文
摘要:摘要:有时候我们的数据存放在Excel中(特别是对于用户来说更喜欢使用Excel收集一些常用数据),而系统又需要这些数据来处理其他业务,那么此时我们就需要将这些数据导入到数据库中。但是鉴于Excel的样式多种多样,因此每次导入时都必须书写很多重复的代码。很明显对于一个软件开发者做这些重复劳动是一件很无趣的事情。那么怎样来寻中一种通用的方法呢?今天我们就一块看一下如何来解决这个问题。 主要内容 Excel操作组件的选择 总体设计思路 配置文件设计 类设计 编码实现 一点补充 简单的测试 总结 一、Excel操作组件的选择 在开始今天的主题之前我们先简单的看一个基础的问题,那就是如何进行Excel
阅读全文
摘要:Add [CLSCompliant(false)] attribute for class.It's means don't need to do CLS check for another language(VB.NET,F#) but C#.
阅读全文
摘要:-- 来源于网络-- 更详细的介结参考联机帮助文档xp_cmdshell --*执行DOS各种命令,结果以文本行返回。xp_fixeddrives --*查询各磁盘/分区可用空间xp_loginconfig --*报告SQL Server 实例在Windows 上运行时的登录安全配置xp_logininfo --*返回有关Windows 认证登录的信息。xp_msver --*返回有关Microsoft SQL Server 的版本信息xp_enumgroups --返回Windows用户组列表或在指定域中的全局组列表。xp_sendmail --将电子邮件发送给指定的收件人(后续版本将删除该
阅读全文
摘要:public访问不受限制。protected访问仅限于包含类或从包含类派生的类型。internal访问仅限于当前项目。protectedinternal访问仅限于从包含类派生的当前项目或类型。private访问仅限于包含类型。引用自:http://ajunsj.blog.163.com/blog/static/1067534200854113951124/
阅读全文
摘要:原文地址:http://hi.baidu.com/kjkj911/blog/item/0ecc3ec7855dd6d4d100600f.htmlprivate _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _excelApplicatin = null;_excelApplicatin = new Excel.Application();_excelApplicatin.Visible = true;_excelApplicatin.DisplayAlerts =
阅读全文
摘要:http://msdn.microsoft.com/en-us/library/ms247123(v=vs.80).aspxWay 1: Use sn commandsn /R D:\EK.Capture.DR.Gui.CCLongLengthManipulator.dll D:\Project\V5\DR\dr_v5_sdc_dev\DR\EK\Capture\DR\Common\FullKey.snkWay 2: create bat file to run as below:"C:\program files\microsoft visual studio 8\sdk\v2.0
阅读全文
摘要:1、DataTable不支持线程安全,如果有多个线程同时更新DataTable中不同行时必须使用Lock(dataTable)锁定,保证线程安全2、多线程都要更新全局变量时必须使用Lock(变量)锁定,防止变量值错误3、线程执行完线程方法会自动结束,也可以线程方法中用Thread.CurrentThread.Abort();强行线程结束4、线程方法中的局部变量是不会相互影响5、如果一方法需要在多线程中只能同一时间一个线程访问,则使用Lock(this)实现
阅读全文
摘要:单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如:private void btnSet_Click(object sender, EventArgs e){ Thread t = new Thread(new ParameterizedThreadStart(SetTextBoxValue)); //当然也可以用匿名委托写成Thread t = new Thread(SetTextBoxValue); t.Start("He
阅读全文
摘要:一、软件网站:http://www.nlog-project.org/下载:http://sourceforge.net/project/showfiles.php?group_id=116456说明:如果是.Net 2.0使用, 请下载nlog-1.0-net-2.0.zip 里面的bin目录下有多个,c# 使用nlog.dll文件:nlog.dll大小:248K版本:1.0.0.505二、 WinForm下使用添加nlog.dll的引用,然后在nlog.dll的文件夹下创建nlog.dll.nlog内容如下:<?xml version="1.0" encoding
阅读全文
摘要:Declare @Id Int Set @Id = 0; ---在此修改父节点 With RootNodeCTE(NodeId,ParentId,[text],orderid) As ( Select NodeId,ParentId,[text],orderid From S_Tree Where ParentId In (@Id) Union All Select S_Tree.NodeId,S_Tree.ParentId,S_Tree.[text],s_tree.orderid From RootNodeCTE Inner Join S_Tree On RootNodeCTE.NodeI.
阅读全文
摘要:HTML特殊转义字符列表 最常用的字符实体 Character Entities 显示 说明 实体名称 实体编号 半方大的空白     全方大的空白     不断行的空白格   < 小于 < < > 大于 > > & &符号 & & " 双引号 " " ? 版权 © © ? 已注册商
阅读全文
摘要:定义正如MSDN中所描述的那样-----“特性是被指定给某一声明的一则附加的声明性信息。”使用预定义(Pre-defined)特性在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。using System;public class AnyClass{[Obsolete("Don't use Old method, use New method", true)]static void Old( ) { }static void New( ) { }public
阅读全文
摘要:--调用方法:--select*fromGetChild('24')--selectidfromGetChild('24')--select*fromKuCunwhereProductTypein(selectidfromGetChild('24'))Createfunction[dbo].[GetChild](@IDvarchar(10))returns@ttable(IDvarchar(10),ParentIDvarchar(10),Levelint)asbegindeclare@iintset@i=1insertinto@tselect@I
阅读全文
摘要:今天要花时间学学MSBuild,学习的资料是博客园上的一些关于MSBuild的文章和MSDN上对MSBuild的介绍。 MSBuild简介: MSDN上这样描述的:Microsoft Build Engine(MSBuild)是Microsoft和Visual Studio的新的生成平台。我的理解是:MSBuild是一个工具,它生成了一个项目文件(本质上是XML)。这个项目文件使得开发人员能够描述哪些项需要生成,以及如何利用不用的平台和配置生成这些项。 接下来,我在Visual Studio 2008中创建了一个Console Application,只是在控制台里输出一行“Hello Wor
阅读全文
摘要:与原始的 WMI 相比,使用 .NET Framework 中的 WMI 编写客户端应用程序或提供程序具有多种优势,特别是对于使用 C#(而不是 C++)的开发人员。在这种情况下,编写提供程序意味着为在托管代码中编写的应用程序添加规范。在编写客户端应用程序和提供程序时,.NET Framework 中的 WMI 具有下列优势:利用公共语言运行库功能,例如垃圾回收、自定义索引器和字典。此外,还提供其他公共语言运行库功能,例如自动内存管理、有效部署、面向对象的框架、基于证据的安全性以及异常处理。类定义和实例发布与 .NET Framework 类一起规范化应用程序,以便应用程序可以为 WMI 提供
阅读全文
摘要:Roger (roger2yi@gmail.com)一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于单元测试,还有的产出最终的应用程序执行档。除此以外,根据项目的需求,还会使用一些第三方的库。所以为解决方案设置一个合理的目录结构,不但可以使得代码管理更井井有条,项目成员之间也更容易相互配合,更重要的是能够使得最终应用程序的安装包制作,源代码打包发布和转移变得十分容易。解决方案与项目:从VC6之后VC系列就使用解决方案(Solution)来替代原来的工作空间,用于组织和管理多个相关的项目(Project)。文章首先演示一个虚拟的解决方案和我们期望得到的
阅读全文
摘要:刚看到网上一篇博文里用sql实现了行列转置。sqlserver2005/2008只用一个pivot函数就可以实现sql server 2000很多行的复杂实现。提到转置,立刻想起还在求学阶段曾经做过的一个练习,用c语言实现二维数组的转置。相信大家都做过这个练习。下面利用c#利器也实现一遍,没有实际意义,练练手而已。1、二维数组转置classProgram{publicstaticstring[,]Rotate(string[,]array){intx=array.GetUpperBound(0);//一维inty=array.GetUpperBound(1);//二维string[,]newA
阅读全文
摘要:早晨看到TerryLee的文章《.NET开源项目介绍及资源推荐:日志记录》,其中说到NLog这个同样开源且非常不错的日志记录工具却没什么中文资料。在TerryLee介绍前,我也不知道NLog这个东西,于是就随便尝试了一下。简单使用了一下之后,觉得NLog真的非常不错。如此漂亮的类库却没有中文资料,似乎有些可惜,于是尝试联系其作者Jaroslaw Kowalski请求翻译NLog网站中的一部分内容。没想到Jaroslaw Kowalski很快给我回了信表示同意,更巧的是居然我们还是同事!文章目录交流之后,我决定先从NLog网站的介绍文档开始,逐步翻译并介绍NLog的使用方法,直至最终推出NLog
阅读全文
摘要:要选择正确的集合,我们首先要了解一些数据结构的知识。所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。结合下图,我们看一下对集合的分类。集合分类在上图中,可以看到,集合总体上分为线性集合和非线性集合。线性集合指元素具有唯一的前驱和后驱的数据结构类型。非线性集合是指具有多个前驱或后驱的数据结构类型,如:树、图。在FCL中,非线性集合实现的比较少,所以我们将会更多的讨论线性集合。注意:由于类型安全、转型效率等方面的原因,本建议将只讨论泛型集合。线性集合按存储方式,又分为直接存储和顺序存储。所谓直接存储是指:该类型的集合数据元素可以直接通过下标(也即index)来访问,在C#中有三种
阅读全文
摘要:需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象;非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等;毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口IDisposable。这相当于是告诉调用者,该类型是需要显式释放资源的,你需要调用我的Dispose方法。不过,这一切并不这么简单,一个标准的继承了IDisposable接口的类型应该像下面这样去实现。这种实现我们称
阅读全文
摘要:微软知识库里面有个DataSetHelper,可以对DataSet中的DataTable进行Distinct、Group by、Join和Create。View Code 1 using System; 2 using System.Collections; 3 using System.Data; 4 5 namespace Common 6 { 7 /// <summary> 8 /// DataSet助手 9 /// </summary> 10 public class DataSetHelper 11 { 12 ...
阅读全文
摘要:c#(winform)中ComboBox和ListBox添加项完全解决刚开始用.net 的winform开发,发现好些控件都很难用,可能是不熟悉的原因吧,这不,一个给ComboBox添加项的问题就搞的我很头疼,我要同时给一个项添加名字和值,怎么都没法加,查了查资料,又自己汇总测试了下,终于全部搞定了,现把完整的方案写下。用comboBox的数据绑定的方法很简单,建一个数据源,绑定到ComboBox上,然后指定DisplayMember和 ValueMember就可以了。但是感觉好不灵活哦,如果我要在ComboBox上再添加一项,那怎么办?Web里面有ListItem, winform里面怎么没
阅读全文
摘要:在vs2003 和2005中都支持了Build Events, 但是2003只支持单行的命令,而2005可以支持多行命令.要想在2003中执行多行命令,只能把命令写在一个批处理文件中,然后通过调用批处理来执行.1.在Solution explorer中用context meun查看project的property.2.选择Build Events,可以看到Pre-build 和Post-build event command line,以及运行Post-build event 的条件//——————————————————用法收集1.build完后修改build产物的名字(后缀),并覆盖已有的
阅读全文