08 2013 档案

摘要:来自:《Microsoft SQL SERVER 2008技术内幕 T-SQL查询》P7 在SQL中谓词(逻辑表达式)的可能值为TRUE、FALSE和UNKNOWN。这就是所谓的三值逻辑,是SQL特有的属性。 大多数编程语言中的逻辑表达式只有TRUE或FALSE两种取值。SQL中的UNKNOWN逻辑值通常出现在涉及NULL值的逻辑表达式中(如,以下三个表达式的逻辑值都是UNKNOWN:NULL>42、NULL=NULL和X+NULL>Y)。NULL这个符号代表一种缺失的值。当把一个缺失的值和另一个值(这个值也可能是NULL)进行比较时,逻辑结果将总是UNKNOWN。 UNKNOWN 阅读全文
posted @ 2013-08-31 10:34 LS庆 阅读(437) 评论(0) 推荐(0)
摘要:一、原数据状态二、手动写透视转换1三、手动写透视转换2四、PIVOT(透视转换)和UNPIVOT(逆透视转换)详细使用使用标准SQL进行透视转换和逆视转换--行列转换create table #demoOrders( id int primary key identity(1,1), Com... 阅读全文
posted @ 2013-08-21 23:58 LS庆 阅读(5552) 评论(0) 推荐(0)
摘要:一、集合运算的基本格式是:集合查询1集合查询2[order by ...]二、集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定。(可以用来连接多个结果);集合运算对行进行比较时,认为两个NULL值相等。三、union和union all(并集)集合运算union(并集)集合运算可以将多个查询结果集合并成一个结果集。union(隐含distinct,去除重复)、union all。--UNION合并两个查询结果集,并且将其中完全重复的数据行合并为一条select tName,tSex from tea 阅读全文
posted @ 2013-08-21 23:12 LS庆 阅读(15164) 评论(0) 推荐(1)
摘要:来自:《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》一、公共表表达式(CTE,Common Table Expression)是在SQL Server 2005中引入的,是ANSI SQL标准的一部分。CTE是用WITH定义的,它的一般格式为:WITH [(目标列_列表)] WITH [(target_column_list)]AS AS( ( ) ... 阅读全文
posted @ 2013-08-19 11:55 LS庆 阅读(879) 评论(0) 推荐(0)
摘要:ROW_NUMBER()函数:行号,根据作为参数传递给这个函数的ORDER BY子句的值,返回一个不断递增的整数值。如果ROW_NUMBER的ORDER BY的值和结果集中的顺序相匹配,返回值将是递增的,以升序排列。如果ROW_NUMBER的ORDER BY子句的值和结果集中的顺序不同,这些值将不会按顺序列出RANK()函数:排名, RANK()函数保留列表中行的位置序号,对于每个重复的值,该函数会跳过下面与其相邻的值,于是就可以将下一个不重复的值保留在正确的位置上。DENSE_RANK()函数:密集排名,DENSE_RANK()函数的工作方式与RANK()函数相同,不过它不会跳过每个连接后的 阅读全文
posted @ 2013-08-11 15:03 LS庆 阅读(363) 评论(0) 推荐(0)
摘要:一、浅层拷贝,就是只拷贝类的第一层成员,而且如果成员是引用类型,则引用同一份。1、手动自己实现 class Person:ICloneable { public int Id { get; set; } public string Name { get; set; } public Dept Dept { get; set; } public object Clone() { Person person2 = new Person(); person2.Id = thi... 阅读全文
posted @ 2013-08-07 15:09 LS庆 阅读(665) 评论(0) 推荐(0)
摘要:一、使用Control的SelectNextControl方法// 回车切换控件焦点//要想使这个方法起到作用先将窗体的keypreview属性改为trueprotected override void OnKeyPress(KeyPressEventArgs e){ // 判断是否按下回车键,13是Enter键的ASCII码值 if (e.KeyChar == 13) { // 激活下一个控件 this.SelectNextControl(this.ActiveControl, true, true, true, true); } ... 阅读全文
posted @ 2013-08-07 14:03 LS庆 阅读(429) 评论(0) 推荐(0)
摘要:因为最近在MSDN论坛和stackflow中看到一些朋友经常问到这个问题,所以写这篇文章来帮助大家遇到相同问题的时候可以很快的得到解决,下面就不啰嗦了,直接看代码如何解决这个问题的。首先,大家应该明确,现在没有可用的API来给我们动态地设置屏幕分辨率,我们要实现这个需求,我们只能在C#程序中调用Win32 API 函数来解决这个问题的,这里用C#代码调用Win32 API 就涉及到一个问题的,即.NET 互操作性的问题,关于这个大家可以参考我的互操作性系列文章。这里我就不过多解释了。我们要解决这个问题,首先大家肯定也会遇到一个经常遇到的问题,即如何获得用户的分辨率,对于这个问题,.NET中提供 阅读全文
posted @ 2013-08-06 16:25 LS庆 阅读(698) 评论(0) 推荐(0)
摘要:也不多说了,直接进入主题了一、信号量(Semaphore)信号量(Semaphore)是由内核对象维护的int变量,当信号量为0时,在信号量上等待的线程会堵塞,信号量大于0时,就解除堵塞。当在一个信号量上等待的线程解除堵塞时,内核自动会将信号量的计数减1。在.net 下通过Semaphore类来实现信号量同步。Semaphore类限制可同时访问某一资源或资源池的线程数。线程通过调用 WaitOne方法将信号量减1,并通过调用 Release方法把信号量加1。先说下构造函数:public Semaphore(int initialCount,int maximumCount);通过两个参数来设置 阅读全文
posted @ 2013-08-06 16:18 LS庆 阅读(262) 评论(0) 推荐(0)
摘要:引言:其实这部分内容应该是属于专题四,因为这篇也是讲关于线程同步的,但是由于考虑到用户的阅读习惯问题,因为文章太长了,很多人不是很愿意看包括我也是这样的,同时也有和我说可以把代码弄成折叠的,这样就不会太长的,但是我觉得这样也不怎么便于阅读,因为我看别人的博客的时候,看到有代码是折叠起来的时候很多时候不愿意去点,并且点一下之后同样拉长文章的,然后就看到右边的滚动条变小了,本以为快看完了(意思快学到知识了),一看滚动条后发现还有好长的内容很看, 所以就会给人一种不舒服的感觉吧(如果有和我一样的人的话,你肯定懂的是什么感觉的)。所以我把线程同步放到两篇文章里面来说,其实放到两篇文章里面也有一定原因的 阅读全文
posted @ 2013-08-06 16:12 LS庆 阅读(254) 评论(0) 推荐(0)
摘要:目录:一、线程同步概述二、线程同步的使用三 、总结一、线程同步概述前面的文章都是讲创建多线程来实现让我们能够更好的响应应用程序,然而当我们创建了多个线程时,就存在多个线程同时访问一个共享的资源的情况,在这种情况下,就需要我们用到线程同步,线程同步可以防止数据(共享资源)的损坏。然而我们在设计应用程序还是要尽量避免使用线程同步, 因为线程同步会产生一些问题:1. 它的使用比较繁琐。因为我们要用额外的代码把多个线程同时访问的数据包围起来,并获取和释放一个线程同步锁,如果我们在一个代码块忘记获取锁,就有可能造成数据损坏。2. 使用线程同步会影响性能,获取和释放一个锁肯定是需要时间的吧,因为我们在决定 阅读全文
posted @ 2013-08-06 16:06 LS庆 阅读(209) 评论(0) 推荐(0)
摘要:上一篇文章主要介绍了如何利用线程池中的工作者线程来实现多线程,使多个线程可以并发地工作,从而高效率地使用系统资源。在这篇文章中将介绍如何用线程池中的I/O线程来执行I/O操作,希望对大家有所帮助。目录:一、I/O线程实现对文件的异步二、I/O线程实现对请求的异步三、总结一、I/O线程实现对文件的异步1.1 I/O线程介绍:对于线程所执行的任务来说,可以把线程分为两种类型:工作者线程和I/O线程。工作者线程用来完成一些计算的任务,在任务执行的过程中,需要CPU不间断地处理,所以,在工作者线程的执行过程中,CPU和线程的资源是充分利用的。I/O线程主要用来完成输入和输出的工作的,在这种情况下, 计 阅读全文
posted @ 2013-08-06 16:02 LS庆 阅读(312) 评论(0) 推荐(0)