C#
xieyongbao
这个作者很懒,什么都没留下…
展开
-
调试InfoPath 2007脚本
集成开发环境的一个常见功能就是能够对所编写的脚本进行调试或者在其中查找和修复错误。在调试脚本时,可以在脚本出现错误时进行调试,也可以通过向 脚本中添加调试语句来设置断点。调试语句通知调试程序何时暂停执行,并允许您单步执行脚本以检查其行为。本文介绍如何向脚本中添加调试语句。在 Microsoft Office InfoPath 中,打开包含脚本的表单模板。 在“工具”菜单上,指向“编程”原创 2009-06-29 09:40:00 · 578 阅读 · 0 评论 -
一个封装比较完整的FTP类——clsFTP
前几天,看见园子里面的博友写了一个支持断点续传的FTP类,一时技痒,干脆写了个更完整的clsFtp类。只是我写这个clsFtp不是支持断点续传的目的,而是为了封装FTP几个基本常用的操作接口。功能ü 建立FTP链接ü 支持代理ü 多种重载的同步上传文件ü 多种重载的异步上传文件ü 多种重载的同步转载 2008-05-08 13:09:00 · 541 阅读 · 1 评论 -
C#.Net 网络程序开发-Socket篇
Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket转载 2008-05-08 09:48:00 · 326 阅读 · 0 评论 -
C# 导入Excel数据
系统开发中经常会用到从Excel文档导入数据到数据库中。最近自己要用到,随手写了一个简单的基本的导入函数!添加的引用代码如下: using System.Data.OleDb;using System.IO; 函数代码如下:转载 2008-05-08 09:46:00 · 1339 阅读 · 0 评论 -
C# 数据导出Excel
上次贴一段Excel导入数据到数据库的函数,忘了把 数据库导出数据到Excel的贴上来了,现在补上!!!导出到Excel我用了一个进度条,显示导出的进度,所以函数我也一起写在窗体代码里了!以下是窗体截图: 以下是代码: using System;using Excel;using Mi转载 2008-05-08 09:44:00 · 712 阅读 · 0 评论 -
c#3.0新特性
微软最近的动作频繁,C#2.0规范才刚推出不久,我还没来的及完全消化C#2.0中的所有新特性,而今又推出了C#3.0,在短短几年中,微软就对C#进行了两次大的升级,为C#加入了许多新的特性,从而使C#变得更加强大也更加现代了。下面我就把C#3.0中的新特性的要点列出来,以供大家快速浏览。 第一个特性:隐式类型化本地变量 这个特性非常简单,有些JavaScript的影子,我们可以统一使用使用"v转载 2008-05-05 09:43:00 · 248 阅读 · 0 评论 -
C#2.0的特性
C# 2.0引入了很多语言扩展,最重要的就是泛型(Generics)、匿名方法(Anonymous Methods)、迭代器(Iterators)和不完全类型(Partial Types)。• 泛型允许类、结构、接口、委托和方法通过它们所存贮和操作的数据的类型来参数化。泛型是很有用的,因为它提供了更为强大的编译期间类型检查,需要更少的数据类型之间的显式转换,并且减少了对装箱操作的需要和运行时的类型转载 2008-05-05 09:42:00 · 248 阅读 · 0 评论 -
C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
C# 3.0 中对象初始化器(Object Initializers) 和 集合初始化器(Collection Initializers) ,就是简化我们的代码,让本来几行才能写完的代码一行写完。这样在LINQ的使用中,我们才不会把一个LINQ表达式写的巨复杂无比。 由于我看到几篇讲 对象初始化器(Object Initializers)和集合初始化器(Collection Init转载 2008-05-04 17:12:00 · 207 阅读 · 0 评论 -
LINQ 集成到应用程序中需考虑的一些问题
1、LINQ to SQL集成到应用程序中需考虑的一个问题, 到底应该返回IQueryable还是IQueryable? 或许这个列表还应该继续扩展为T, List, 对于Business Layer来说, 到底应该选择哪一种?2、需要一个分页功能; 到这一步的时候我又有几个选择, 利用LINQ to SQL可以执行自定义存储过程的功能, 完全自己写, LINQ to SQL本身已经有API提供了转载 2008-05-04 16:17:00 · 275 阅读 · 0 评论 -
vs2003中无法调试WEB服务器页面 原因?
这是IE 7的问题,进入:ie7工具--internet选项--安全--internet 自定义级别用户验证--选自动使用当前用户名和密码登陆 看看是不是这个问题:打开IE浏览器.1 工具 -- 因特网选项--连接 --局域网设置--代理服务器 (如果有选)把 钩去掉...2 在IIS中相应的网站的属性-目录安全-编辑-把 "集成windows身份验证" 打钩原创 2008-08-04 11:48:00 · 296 阅读 · 0 评论 -
C#编码规范
1. 避免将多个类放在一个文件里面。 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3. 一个文件最好不要超过500行的代码(不包括IDE产生的代码)。4. 一个方法的代码长度最好不要超过25行。5. 避免方法中有超过5个参数的情况。如果超过了,则应使用 struct 来传递多个参数。6. 每行代码不要超过80个字符。7. 原则上,转载 2008-08-29 13:51:00 · 239 阅读 · 0 评论 -
访问InfoPath的xml数据
InfoPath是基于XML技术的一种数据录入工具。它主要有三部分组成:数据定义(schema),数据显示(xslt)和数据存储(XML) 。它的数据都是按照xml格式存储的,不过,它提供的开发接口对xml的处理做了自己的封装,不是采用xmlDocument,而是提供了一套XDocument对象。在真实的应用场景,我们一般把infopath作为客户端,用来录入数据,和服务器交互。 infopa原创 2009-06-25 15:49:00 · 1302 阅读 · 0 评论 -
如何定义Xsd文件
Xml Schema的用途1. 定义一个Xml文档中都有什么元素2. 定义一个Xml文档中都会有什么属性3. 定义某个节点的都有什么样的子节点,可以有多少个子节点,子节点出现的顺序4. 定义元素或者属性的数据类型5. 定义元素或者属性的默认值或者固定值Xml Schema的根元素:表示数据类型等定义来自w3targetNamespace="http:/转载 2009-06-25 14:47:00 · 321 阅读 · 0 评论 -
用程序修改infopath的xsn模板文件
infopath模板介绍在infopath中,模板文件定义了infopath表单的数据、行为和显示等三方面的信息。这些信息不是存储在一个文件中,而是分别存放的。主要的文件有:manifest.xsf是工程文件,定义了模板中包含哪些文件,它们定义那类信息,以及data connect的信息。相当于Visual Studio中的项目工程文件。myschema.xsd,sampledata.xm原创 2009-06-25 15:43:00 · 1170 阅读 · 0 评论 -
InfoPath开发技巧
InfoPath采用XML存储数据。开发人员可以使用thisXDocument对象对InfoPath的数据进行访问。1 访问field数据,需要注意的是要先设置XPath和Namespaces tempDom = (IXMLDOMDocument2)thisXDocument.DOM; tempDom.setProperty("Select原创 2009-06-25 15:57:00 · 118 阅读 · 0 评论 -
ASPX(C#)中调用SQLSERVER2005中的SSIS
第一步:创建SSIS打开VS2005,创建商业智能项目---Integration Services项目(需在安装sqlserver2005时,选择安装Integration Service服务)第二步:在程序中引用 Microsoft.SQLServer.ManageDTS第三步:private void Excutepackage(string path) {转载 2008-12-26 16:57:00 · 438 阅读 · 0 评论 -
使用asp.net 2.0中的SqlBulkCopy类批量复制数据
在软件开发中,把数据从一个地方复制到另一个地方是一个普遍的应用。在很多不同的场合都会执行这个操作,包括旧系统到新系统的移植,从不同的数据库备份数据和收集数据。 ASP.NET 2.0有一个SqlBulkCopy类,它可以帮助你从不同的数据源复制数据到SQL SERVER数据库。本文中我将示范SqlBulkCopy类的不同应用。数据库设计:这个数据库的设计还是蛮简单的,它基于Northw原创 2008-12-25 15:21:00 · 272 阅读 · 0 评论 -
ASP.net中动态加载控件时一些问题的总结
经常见到有人说在ASP.net中不要使用动态控件,我想主要的原因在于使用动态控件会带来一些问题,在做项目的过程中,我将由动态加载控件引发的总是作了一个小小的总结.1 、在使用LoadControl加载控件后,用户控件中的某些控件不再响应事件。 这个问题主要是由于将控件加载放在if (!Page.IsPostBack)之内引起的,放在外面即可。在思归的blog上对此问题进行了详细的说明。2、用转载 2008-12-17 12:00:00 · 257 阅读 · 0 评论 -
IHttpModule 分块上传大文件
1.一般的在Asp.net里上传文件都是10m左右,要做到大文件上传,必须要改web.config,不过改了web.config有时候也上传不成功,那是每次上传的文件太大,浏览器在这个过程中会超时,采用分块上传的方法就可以避免这种情况。2.分块上传就是利用post的方法,把数据分块上传,每块上传的数据量少,不会引起超时的问题。不说了,看代码吧。CodeCode highlighting pro转载 2008-12-01 16:52:00 · 438 阅读 · 0 评论 -
[转]C#3.0入门系列(十二)-Lambda表达式中Lifting
Lambda表达式是由匿名方法演化而来的更加高级的形式。关于匿名方法,请参阅http://msdn.microsoft.com/msdnmag/issues/04/05/C20/。关于Lambda表达式的演化,请参阅http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx?loc=zh。英文原版为http://msdn转载 2008-05-04 16:09:00 · 268 阅读 · 1 评论 -
[转]C#3.0入门系列(十)-之Join操作
本节讲join操作。我们知道,T-sql中,有三种最基本的join,inner join, left join, 和right join。 而dlinq并不支持right join。道理很简单,right join以right表为基础,left表中没有对应记录的,将以null值填充。而dlinq以left表做为主表创建对象。如果一个对象为null,你如何获取它的其他的属性呢?在C# 3.0入门系列转载 2008-05-04 15:58:00 · 238 阅读 · 0 评论 -
[转]C#3.0入门系列(十一)-之In, Like操作
有这么一个例子,寻找一个表中的某个字段介于某个给定的集合该怎么办?Sql写起来很简单,比如:Select * from table where id in (2,3, 4, 5)。 就是寻找id字段为这个给定的集合(2,3, 4, 5)内的值。那Linq to Sql该怎么做呢?一个字,简单。In Operator 比如,我们想要查找,"AROUT", "BOLID" 和 "FISSA" 这三个客转载 2008-05-04 15:52:00 · 213 阅读 · 0 评论 -
[转]C#3.0入门系列(九)-之GroupBy操作
有朋友反馈说我提供的sample不能编译。大概是版本的问题,可以到http://msdn2.microsoft.com/en-us/bb330936.aspx下载for beta1的版本。本节接着讲groupby。上一节,我们讲了如何理解groupby返回的结果。本节会延这个思路阐述下去。先来看下面的例子GroupBy操作中Select的匿名类 var q = fro转载 2008-05-04 15:45:00 · 262 阅读 · 0 评论 -
[转]C#3.0入门系列(八)-之GroupBy操作
换一种写作风格。本节讲groupby操作。在所有的Linq To Sql操作中,GroupBy是最难理解的一个。因为,这里和Sql的出入较大。而Group真的就能返回n多组。打开vs,新建一工程,加入System.Data.Linq.dll的引用。把northwind数据库做个映射,添加到工程里。创建一Northwind类的对象。在这里呢,我们要做分组统计,我们要先明白什么是分组。在我们开始设转载 2008-05-04 15:41:00 · 243 阅读 · 0 评论 -
[转]C#3.0入门系列(六)-之OrderBy操作
本节讲orderby操作.我突然在想这么一个问题,读者会T-SQL吗?要是不知道,那我写的是不是太简单了呢?做个调查哦,不知道的举手.OrderBy操作简单的,按雇用日期排序,默认为升序 var q = from e in db.Employees orderby e.HireDate转载 2008-05-04 15:20:00 · 253 阅读 · 0 评论 -
[转]C#3.0入门系列(五)-之Where操作
从本节开始,本文正式更名为C#3.0入门系列。先发布一则消息,VS2007 Beta版本已经发布咯,下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=1FF0B35D-0C4A-40B4-915A-5331E11C39E6&displaylang=en大家快去下载呀,我也好和大家一起体验该版本最新功能呀。dlinq也更名为l转载 2008-05-04 15:14:00 · 205 阅读 · 0 评论 -
[转]C# 3.0入门系列(三)
从本节开始,笔者将会和大家一起开始体验dlinq了。前面我们准备了数据库,也对数据库之间的关系做了初步的了解。有了数据库之后,数据和对象是一个什么样的关系呢?从dlinq的设计来看,它主要是为了解决data!=objects 的问题而产生的。那么,现在,有了dlinq后数据和对象之间就可以有一个一一对应的关系了。我们既可以根据数据库生成这种影射的代码,也可以根据影射代码生成数据库。简单的说,数据库转载 2008-05-04 15:05:00 · 240 阅读 · 0 评论 -
c#工厂模式与抽象工厂模式。
工厂模式与抽象工厂模式,相信同行不会陌生.在网上及相关书里面也看过这方面的介绍(推荐这两本书:Steven John Metskers Design Patterns in c# 和 Gofs Design Pattern Framework2.0).今天抽点时间,写点这方面的东西,希望能起到一点抛砖引玉的作用. 工厂模式与抽象工厂模式是应用得比较多的构造型模式,先简单的介绍转载 2008-04-30 09:47:00 · 288 阅读 · 0 评论 -
C#正则表达式参考
正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 本文详细地列出了能在正则表达式中使用,以匹配文本的各种字符。当你需要解释一个现有的正则表达式时,可以作为一个快捷的参考。更多详细内容,请参考:Francois Liger,Craig M转载 2008-04-30 09:40:00 · 231 阅读 · 0 评论 -
用反射来解决字段多带来的烦恼
做项目开发的时候,大家应该经常都会遇到一个表里面的很多个字段的情况吧.在之前我接触的一个项目,有一个表有20多个字段.要向表中添加记录,和将一条数据绑定到页面上都要写很多代码.如:下面是一个用户表的添加 User user = new User(); user.Name = this.txt_Name.Text; user.Remark = this.t转载 2008-04-30 09:17:00 · 257 阅读 · 0 评论 -
Lambda Expressions (Lambda表达式)与Expressions Tree(表达式树)
什么是Lambda表达式?我们可以认为它是匿名方法的简洁写法,例如下面这个匿名方法:1: delegate(int age) 2: { 3: return age 4: } 我们就可以写成Lambda表达式的形式:1: age => age 这是一个很简单的例子,基本上一目了然。Lambda的基本形式是argume转载 2008-05-04 16:31:00 · 246 阅读 · 0 评论 -
认识Lambda表达式
Lambda表达式的本质是“匿名方法”,也即是当编译我们的程序代码时,“编译器”会自动帮我们将“Lambda表达式”转换为“匿名方法”,如下例:string[] names = { "agen", "balen", "coure", "apple" };string[] findNameA = Array.FindAll(names, delegate(string v){ re转载 2008-05-04 16:33:00 · 442 阅读 · 0 评论 -
[转]C#3.0入门系列(七)--之OR工具介绍
本节舍去原来的计划,而改讲映射工具。在入门三一文中,我们提到了sqlmetal这个工具。http://www.cnblogs.com/126/archive/2006/09/06/492332.html sqlmetal的功能是将数据库的信息抽提出来,生成映射代码。Orcas还有另外一个工具,就是O/R Designer. 先讲sqlmetal. 自上次的版本后,sqlmetal,又增加了一些转载 2008-05-04 15:35:00 · 282 阅读 · 0 评论 -
[转]C# 3.0入门系列(四)-之Select操作
先给关注dlinq的朋友们道歉,最近工作实在忙,没有时间来写blog。从本节开始,我们讲dlinq语法咯。我们先从select子句讲起。看下面的例子。 var q = from c in db.Customers select c.ContactName;这是一个最简单的dlinq查询语句,查询得到联系人的名字。在这里,我需要提醒下大家的是,像这个语句只是转载 2008-05-04 15:08:00 · 251 阅读 · 0 评论 -
[转]C# 3.0入门系列(二)
在第一篇中,我已经和大家简单介绍了linq。也和大家提起linq是C# 3.0里的一个特性。不过,你去装linq priview时,你会发现,它提供了许多vb的linq代码。从现在的情况看,linq会被移植到.net framework下。在本篇中,笔者将开始更加详细的介绍dlinq。同时,也会介绍很实用的技巧和方法。在这之前,你需要安装s2008 beta2版本。可以到 http://msdn2转载 2008-05-04 15:00:00 · 206 阅读 · 0 评论 -
[转]C# 3.0 入门系列(一)
谈到dlinq,就不得不先说linq。让我们先看看什么是linq。linq是 Language Integrated Query的缩写。那么事实上dlinq就是 Database Language Integrated Query 的缩写。linq和dlinq最大的区别就在与linq是对内存进行操作,而dlinq的操作对象为数据库。我们先来看一个linq的例子。在这之前,你需要安装s2008 be转载 2008-05-04 14:58:00 · 223 阅读 · 0 评论 -
C#3.0 中使用扩展方法来扩展接口
有关扩展方法的一些知识点请参看我的前篇博客:C#3.0 中的扩展方法 (Extension Methods)前篇博客中我重点介绍了两个特殊场景:1、扩展方法跟原来类的方法重名时候的处理逻辑2、扩展方法的嵌套现在我们来看扩展方法使用的第三个场景:使用扩展方法来扩展接口 应用场景举例:我们有时候会发现最初定义的一个接口,在现在环境下,这个接口需要再增加一个函数。有了扩展方法转载 2008-05-04 17:07:00 · 208 阅读 · 0 评论 -
C#3.0 中的扩展方法 (Extension Methods)
今天早上在MSDN站点看到这样一篇文章: C# 3.0 LINQ 的演变及其对 C# 设计的影响 。 从这篇文章我们就可以明显的看到,C# 3.0 所新增的这些特性,可以认为都是为了LINQ 的发展,为了LINQ更易用,所创建的一些新特性,当然这些新特性也可以被非LINQ相关功能所使用。LINQ的发展,带动了C#3.0 这一系列新特性的产生。 回来说我们的话题,扩展方法,首先看一个最简单的转载 2008-05-04 17:04:00 · 230 阅读 · 0 评论 -
C# 3.0 的自动属性(Automatic Properties)
使用自动属性后,你可以不用手工声明一个私有成员变量以及编写get/set逻辑,取而代之的是,编译器会自动为你生成一个私有变量和默认的get/set 操作。系统为你产生的私有变量在IDE中,你是看不到的,如下图:当然如果你希望属性中有些赋值或者取值逻辑校验,自动属性可是不适合你的。 上面的代码我们编译后,再用 Reflector 反编译后,我们可以看到上述代码中的属性变成了如下代码:转载 2008-05-04 17:02:00 · 242 阅读 · 0 评论 -
C#3.0 中 隐式类型变量、匿名类型
隐式类型变量 (Implicitly typed local variables) 象下面的代码书写就是隐式类型变量 var i = 5;var str = “Csharp”var numbers = new int[]{1,2,3};var orders = new System.Collections.Hashtable();var orders1 = new Dictionary()转载 2008-05-04 16:57:00 · 229 阅读 · 0 评论