转载:WPF Rending(硬件加速、软件加速)

这里,除了有那个注册表禁用硬件加速的设定,内容还有对RenderCapability.Tier的介绍。既可以如msdn

RenderCapability.Tier >> 16,
也可以如文中的
 RenderCapability.Tier / 0x10000
因为该属性whose high-order word corresponds to the rendering tier for the current thread.
一个word是两个byte,16位,FFFF,所以/0x10000和右移位16位是一样的。为什么微软不定义Tier属性为Int16就完事了呢?
难道是为了扩展性?16位的枚举值也足够将来扩展的。何必让用户移位呢?
另外,这个银光中国是个不错的网站,可以常去看看。

oracle里的空字符串是null吗?

http://stackoverflow.com/questions/203493/why-does-oracle-9i-treat-an-empty-string-as-null

再看我们的数据库,都是varchar2类型的,默认值是‘ ’(有空格),但又是nullable的。所以再要排除空记录(包括空值和默认值),应该是

XXX is not null and xxxx <> ‘ ’(有空格) 或者 nvl(xxx,‘ ’)<> ‘ ’

后则写起来简单一些。

update:

经试验,这种做法比较简洁(必较即要判断 is null,又要判断一个空格的做法)

trim(XXX) is null

当XXX是空格或是null值(空串)的时候都成立

不为空就则改成is not null

比如

select  sop_destination_warehouse from SALES_ORDER_HEADERS where trim(sop_destination_warehouse) is null 返回的是sop_destination_warehouse为空的记录

select  sop_destination_warehouse from SALES_ORDER_HEADERS where trim(sop_destination_warehouse) is  not null 返回的是sop_destination_warehouse有值的记录。

另:安装ODP.net可以解决System.Data.OracleClient   requires   Oracle   client   software   version   8.1.7   or   greater.的错误。并且,要给予aspnet账号(iis5.1,其他版本看具体服务进程的用户)oracle client目录读写权限。