博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年8月27日

摘要: 在SQL中逻辑表达式的可能值包括TRUE、FALSE和UNKNOWN。它们被称为三值逻辑。三值逻辑是SQL所特有的。大多数编程语言的逻辑表达式只有TRUE和FALSE两种值,SQL中的UNKNOWN逻辑值通常出现在包含NULL值的逻辑表达式中。NULL值通常表示丢失或者不相关的值。UNKNOWN逻辑结果和NULL在不同的语言元素中被区别对待。例如,所有的查询筛选器(ON,WHERE和HAVING)都把UNKNOWN当作FALSE处理。是筛选器为UNKNOWN的行会被排除在结果集外。而CHECK约束中的UNKNOWN值被当作TRUE对待。假设表中包含一个CHECK约束,要求salary列的值必须 阅读全文

posted @ 2011-08-27 13:52 枫之一刀 阅读(971) 评论(0) 推荐(0) 编辑

摘要: 常量是其值在使用过程中不会发生变化的变量,在声明和初始化变量时,在变量前面加上关键字const。常量具有以下特涨:常量必须在声明时初始化,指定了其值后,就不能再修改了。常量的值必须能在编译时用于计算。因此,不能用从一个变量中提取的值来初始化常量。如果需要这么做,应使用只读字段。常量总是静态的,但注意,不必(实际上,是不允许)在常量声明中包含修饰符static。 阅读全文

posted @ 2011-08-27 13:52 枫之一刀 阅读(190) 评论(0) 推荐(0) 编辑

摘要: 返回架构范围内对象的数据库对象标识号。使用 OBJECT_ID 不能查询非架构范围内的对象(如 DDL 触发器)。对于在sys.objects目录视图中找不到的对象,需要通过查询适当的目录视图来获取该对象的标识号。例如,若要返回 DDL 触发器的对象标识号,请使用SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog'语法OBJECT_ID ( '[ database_name . [ schema_name ] .| schema_name . ]object_name'[ ,&# 阅读全文

posted @ 2011-08-27 13:51 枫之一刀 阅读(382) 评论(0) 推荐(0) 编辑

摘要: inner join 内连接,内连接产生的结果是两表中匹配的记录出现在结果表中例如:如果两个表有相同的字段,条件设在on a.id = b.id ,那么结果只呈现相匹配的结果集。left join/right join 外连接,分为左外连接和右外连接。如果是left join 那么显示A表中的所有记录,B表中的不匹配的为null。如果是right join 那么显示B表中的所有记录,A表中的不匹配的为null。 阅读全文

posted @ 2011-08-27 13:51 枫之一刀 阅读(276) 评论(0) 推荐(0) 编辑

摘要: 本章将介绍使用不同类型的联接查询多个表,使用union操作符组合结果集,使用select into 语句创建表。1:使用表的别名使用表的别名可以增强脚本的可读性,有利于编写复杂联接。同时简化Transact-SQL的维护。2:命名列当对单个表或视图进行操作时,对于列源并不会出现歧义,因为所有列的名称在一个表中必然是唯一的。然而,如果在查询中对多个表进行操作的时候,则必须准确指定列的名称。对于所有数据库对象的完整性说明由四个标识符组成:服务器名称、数据库名称、所有者名称和对象名称,这些标识符用点号分开。3:组合多个表中的数据联接操作可以是你同时查询两个或多个表中的数据,所生成的结果集将多个表中的 阅读全文

posted @ 2011-08-27 13:51 枫之一刀 阅读(329) 评论(0) 推荐(0) 编辑

摘要: 在SQL Server 中负责生成实际工作计划(执行计划)的组件是查询优化器,以何种顺序访问表、使用哪种访问方法和哪个索引、应用哪种联接算法等都是由优化器来决定的。优化器会生成多个有效的执行计划,并选择其中成本最低的执行计划。明确的区分查询的逻辑处理和物理处理是非常有必要的。逻辑查询中的各个阶段代码清单1-1(8)SELECT (9) DISTINCT (11) <TOP_specification> <select_list>(1)FROM <left_table>(3) <join_type> JOIN <right_table> 阅读全文

posted @ 2011-08-27 13:50 枫之一刀 阅读(316) 评论(0) 推荐(0) 编辑

摘要: object 是C#两个预定义的引用类型之一。object System.Object(CTS类)跟类型,CTS中的其他类型都是从它派生而来的。(包括值类型)object 可以用于两个目的:可以使用object引用绑定任何子类型的对象。object类型执行许多一般用途的基本方法。包括Equals(),GetHashCode(),GetType()和ToString()。用户定义的类需要使用一种面向对象技术–重写,提供其中一些方法的替代执行代码。 阅读全文

posted @ 2011-08-27 13:49 枫之一刀 阅读(201) 评论(0) 推荐(0) 编辑

摘要: 授予用户访问数据库的权限设计3个步骤首先,创建登录名,使用登录名,用户可以连接到SqlServer数据库引擎,然后将登录名配置为指定数据库中的用户。最后授予该用户方位数据库的权限。例如:创建用户名Mary,在计算机管理–系统工具– 本地用户和组,单击用户–新建用户,在用户名中键入“Mary”在Sql中创建登录名Create Login [ocean-PC\Mary]from windowswith default_database = [TestData]go授予访问数据库权限。use [TestData]gocreate user [Mary] fro login [ocean-PC\Mar 阅读全文

posted @ 2011-08-27 13:49 枫之一刀 阅读(503) 评论(0) 推荐(0) 编辑

摘要: 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。IEnumeralbe.GetEnumerator方法。返回一个循环访问集合的枚举数。 阅读全文

posted @ 2011-08-27 13:48 枫之一刀 阅读(137) 评论(0) 推荐(0) 编辑

摘要: 可以通过SqlServer 设计自定义函数,来补充和扩展系统支持的内置函数。用户自定义函数接受零个或更多的参数,并返回变量值或表。输入参数可以是出了timestamp,cursor或table之外的任何数据类型,而且它不支持输出参数。sqlserver2000 支持三种类型的用户定义函数。1:标量函数标量函数与内置函数类似,它返回一个标量结果(单一制),如字符串型或整数型。所以标量函数在返回值的的类型上有一些限制。非标量类型(cursor或table)是被禁止的。标量函数不能返回timestamp、text、ntext或image数据类型的值。也不能返回用户自定义的数据类型的值。即使自定义数据 阅读全文

posted @ 2011-08-27 13:48 枫之一刀 阅读(395) 评论(0) 推荐(0) 编辑

摘要: CLR2.0的一个新特性就是泛型。在CLR1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就必须以Object类为基础。而Object类在编译期间没有类型安全性。因此必须进行强制类型转换。另外,给值类型使用Object类会有性能损失。CLR2.0(.Net 3.5 基于CLR2.0)提供了泛型。有了泛型,就不需要Objcet类。System.Collections.Generic命名空间中的List <T>类不使用对象,而是在使用定义类型。泛型优点1:性能。泛型优点2:类型安全如果在ArrayList类中添加一个整数、一个字符串、一个MyClass类型的 阅读全文

posted @ 2011-08-27 13:47 枫之一刀 阅读(154) 评论(0) 推荐(0) 编辑

摘要: internal关键字是类型和类型成员的访问修饰符。只能在同一程序集的文件中,内部类型或成员才是可以访问的。 阅读全文

posted @ 2011-08-27 13:47 枫之一刀 阅读(384) 评论(0) 推荐(0) 编辑

摘要: 在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。它的形式为:yield return <expression>;yield break; 阅读全文

posted @ 2011-08-27 13:47 枫之一刀 阅读(180) 评论(0) 推荐(0) 编辑

摘要: as 运算符用于在兼容的引用类型之间执行某些类型转换。as 运算符类似于强制转换操作,但是,如果无法进行转化,则as返回null而非引发异常。expresssion as type等效于以下表达式expression is type ?(type)express:(type)null 阅读全文

posted @ 2011-08-27 13:46 枫之一刀 阅读(143) 评论(0) 推荐(0) 编辑

摘要: 值类型存储在堆栈上,引用类型储存在堆上。C#类是引用类型,结构是值类型。.Net很容易把值类型转换为引用类型。所以可以在需要对象(对象是引用类型)的任意地方使用值类型。例如:int可以赋予一个对象,从值类型转换为引用类型成为装箱,如果方法需要吧一个对象作为参数,而且传送了一个值类型。装箱操作就会自动进行。另一方面,装箱的值类型可以使用拆箱操作转换为值类型。在拆箱时,需要使用类型转换运算符。装箱和拆箱操作性能损失比较大。 阅读全文

posted @ 2011-08-27 13:46 枫之一刀 阅读(152) 评论(0) 推荐(0) 编辑

摘要: 检查对象是否与给定类型兼容,例如下面代码可以确定是否为MyObject类型的一个实例,或者对象是否从MyObject派生的一个类型。if(obj is MyObject){}如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则is表达式的计算结果将是True。如果已知表达式始终是True或者false,则is关键字将导致编译时警告,但是,通常在运行时才计算类型兼容性。不能重载is运算符。 阅读全文

posted @ 2011-08-27 13:45 枫之一刀 阅读(260) 评论(0) 推荐(0) 编辑

摘要: CSS圆角的实现方式有两种第一种是用图片,通过在内容周围做背景图片。第二种是利用像素间距形成弧度。如图:将此图片放大效果如下:可以看到弧角其实是利用了像素的间距不同,我们在圆角矩形外面加一层DIV,用来控制边界。之后我们在需要显示内容的上下加上一些HTML标签,可以是div,也可以是B等,因为默认情况下这些标签的背景是透明的,我们利用HTML标签从上到下的堆叠效果先设置上边框,控制它左右的边距,然后第二个的编剧稍微减少,设置左右Border的宽度和高度。以此类推完成一个圆角矩形。 阅读全文

posted @ 2011-08-27 13:44 枫之一刀 阅读(417) 评论(0) 推荐(0) 编辑

摘要: margin 的顺序为:上下左右margin:10px 意思是上下左右元素块距离都为10pxmargin:5px 10px 意思是上下5px,左右10pxmargin:5px 6px 10px 意思是上5px 下6px 左右10px 阅读全文

posted @ 2011-08-27 12:52 枫之一刀 阅读(308) 评论(1) 推荐(0) 编辑

摘要: 值类型直接存储其职,而引用类型存储对值的引用。值类型可以根据情况存储在堆栈上。而引用类型存储在堆上。值类型总是放在它被声明的地方。如果值类型数据在方法体外被声明,且存在于一个引用类型中,那么它将被堆中的引用类型所取代。C#把数据类型分为两种值类型引用类型从概念上看,其区别是值类型直接存储其值,而引用类型存储对值的引用。这两种类型存储在内存的不同地方:值类型存储在堆栈中,而引用类型存储在托管堆上。注意区分某个类型是值类型还是引用类型,因为这种存储位置的不同会有不同的影响。例如:int 是值类型,这表示下面的语句会在内存的连个地方存储值20:i = 20;j = i考虑如下代码,这段代码假定已经定 阅读全文

posted @ 2011-08-27 12:49 枫之一刀 阅读(212) 评论(0) 推荐(0) 编辑

摘要: .Net Framework 的核心是其运行库的环境,称为公共语言运行库(CLR)或.Net运行库。通常将CLR的控制下运行的代码称为托管代码(managed code).在CLR执行编写好的源代码之前,需要编译他们。分为两个阶段:1:把源代码编译为Microsoft中间语言(IL)。2:CLR把IL编译为平台专用的代码。Microsoft中间语言与Java字节代码共享一种理念:它们都是低级语言,语法很简单(使用数字代码,而不是文本代码),可以非常快速的转换为内部机器码。这种设计有很重要的有点:平台无关性,提高性能和语言的互操作性。目前只适用于Windows,MONO项目使他可以用于其他平台。 阅读全文

posted @ 2011-08-27 12:48 枫之一刀 阅读(199) 评论(0) 推荐(0) 编辑