摘要: 有件东西我观察了很多年,那就是很少有开发者会去使用SQL Server中的一个非常有用的东西——EXISTS结构。你可以在各种情况中用到EXISTS结构,在这篇文章中我会向大家介绍其中的一些。EXISTS结构语法EXISTSsubquery参数subquery:是一个受限的SELECT语句 (不允许有COMPUTE子句和INTO关键字)。有关更多信息,请参见SELECT中有关子查询的讨论。结果类型:Boolean结果值:如果子查询包含行,则返回 TRUE。exists(sql 返回结果集为真)notexists(sql 不返回结果集为真)如下:表AID NAME1 A1 阅读全文
posted @ 2011-02-16 16:59 hanmos 阅读(11328) 评论(1) 推荐(1) 编辑
摘要: 当我设法学习事件与委托时,我阅读了很多文章去完全地理解它们并使用它们,现在我想把我学到的展现在这里,其中有很多知识你也需要学习。什么是委托? 委托和事件是紧紧联系在一起的。委托是函数(方法)指针,更确切地说,委托保持方法的引用。 委托是一个类。当你创建它的实例的时候,你传递将被委托调用的方法名(做为委托构造器的参数)。 每个委托都有一个特征。例如:Delegate int SomeDelegate(string s, bool b); 是一个委托声明。我之所以说它有一个特征,是因为它都返回一个int类型的值并带有两个参数,类型分别为 string和bool。 我说过,当你实例化委托时,你传递将 阅读全文
posted @ 2011-01-28 23:02 hanmos 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 在前面的三篇文章中我们分别介绍了WCF服务的三种载体:IIS、Self-Host、Windows Service Host。当WCF编写完成后我们一般要通过这三种方式的一种发布WCF服务,当WCF服务发布后,我们就可以编写客户程序来与服务的终结点进行通信。这篇文章我们主要来介绍如何编写客户程序。前提:1.事先建立好一个WCF服务2.使用上面任何一种方式发布WCF。在这里我们使用上篇文章中介绍的WindowsServiceHost发布BookService程序。《图1》《图2》第一步:新建一个项目此项目可以是控制台程序、WinForm、ASP.NET中的任何一个,甚至还可以是其它语言的应用程序, 阅读全文
posted @ 2011-01-28 14:09 hanmos 阅读(774) 评论(0) 推荐(1) 编辑
摘要: 第一步:建立Windows服务程序WindowsServiceHost《图1》《图2》第二步:向ConsoleBookServiceHost程序中添加两个引用:一个是WCF服务库Services项目的引用,另一个是System.ServiceModel引用。第三步:修改Service1的属性在Service1的设计界面中右击,选择“属性”,把其中的(Name)和ServiceName都改为BookServiceHost《图3》第四步:在Service1中编写代码如下《图4》第五步:配置App.Config。在这里我们不再详细说明如何配置了,我们直接把上一次SelfHostBookService 阅读全文
posted @ 2011-01-28 14:07 hanmos 阅读(1117) 评论(0) 推荐(1) 编辑
摘要: 简单的自定义事件首先定义一个类来监听客户端事件,这里我们监听键盘的输入。定义一个委托。public delegate void UserRequest(object sender,EventArgs e);前面的object用来传递事件的发生者,后面的EventArgs用来传递事件的细节,现在暂时没什么用处,一会后面的例子中将使用。下面定义一个此委托类型类型的事件public event UserRequest OnUserRequest;下面我们来做一个死循环public void Run(){ bool finished=false; do { if (Console.ReadLine() 阅读全文
posted @ 2011-01-28 13:57 hanmos 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 在自定义用户控件中,我们经常要添加自定义的事件,这时就要使用到委托(delegate)了。  在做开发中,经常都要用到登录。那么,我们就把登录的界面做成一个控件,以后再使用它就方便多了。  登录界面很简单,随便做做的,它有一个“登录”的按钮。我们需要当点击“登录”按钮时,它能执行我们在其它页面定义的登录操作,这时就需要用到委托了,把登录操作委托给“登录”按钮来执行。下面是用户控件的后台代码:publicpartialclassWebUserControl:System.Web.UI.UserControl{publiceventEventHandlerLoginClick;protectedv 阅读全文
posted @ 2011-01-28 13:57 hanmos 阅读(433) 评论(0) 推荐(0) 编辑
摘要: B/S结构导致了Web应用程序中打印的特殊性。  • 程序运行在浏览器中,打印机在本地,而文件确可能在服务器上,导致了打印控制不是很灵活。  • 格式如何控制和定制等,是我们开发中可能会面对的问题。  打印文档的生成  • 1、客户端脚本方式  一般情况下,主要使用JS 可以分析源页面的内容,将欲打印的页面元素提取出来,实现打印。通过分析源文档的内容,可以生成打印目标文档。  优点:客户端独立完成打印目标文档的生成,减轻服务器负荷;  缺点:源文档的分析操作复杂,并且源文档中的打印内容要有约定。  • 2、服务器端程序方式  利用后台代码从数据库中读取打印源,生成打印目标文档。当的页面生成时, 阅读全文
posted @ 2011-01-28 13:55 hanmos 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 当我们使用DirectoryInfo dir = Directory.CreateDirectory(pathName) 创建目录或者创建一个文件后,有时作为临时文件用完以后需要删除掉,使用File.delete()或者Directory.Delete()经常会遇到“访问被拒绝的错误”;这时我们需要设置文件或者文件夹的只读属性,再进行删除。去除文件夹的只读属性: System.IO.DirectoryInfo DirInfo = new DirectoryInfo(“filepath”);        DirInfo.Attributes = FileAttributes.Normal & 阅读全文
posted @ 2011-01-28 13:54 hanmos 阅读(21305) 评论(3) 推荐(4) 编辑
摘要: 我們平時在開發過程中經常遇到一些這樣的情況:就是需要把頁面上的一個gridview或table內容以word的形式下載到客戶端.最快的寫法是以文本的方式生成word檔案,如下:private void CreateWord(string content){ Response.Clear(); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment;filename=Report.doc"); Response.ContentType = "application/ms-word"; Res 阅读全文
posted @ 2011-01-28 13:53 hanmos 阅读(1362) 评论(0) 推荐(0) 编辑
摘要: 如果你曾经修改了ASP.NET应用程序(dll文件),与修改了bin文件夹或Web.config文件(添加/删除/重命名的文件等),而该网站在运行,你可能已经注意到,这将导致在AppDomain的重新启动。所有的会话状态会丢失和网站再次成功启动,任何登录的用户将被退出(假设你不使用持久Cookie身份验证)。 当然,当我们修改了web.config文件,并保存它,迫使一个AppDomain重新启动,这是我们需要的。我们有时动态创建和删除的文件夹,在ASP.NET 2.0中,文件夹删除将导致一个AppDomain重新启动,这将导致严重的问题。 例如,对于一个电子商务网站的产品,你可能想存储在目录 阅读全文
posted @ 2011-01-28 13:52 hanmos 阅读(308) 评论(0) 推荐(0) 编辑