<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_每天积累一点</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/23473/rss</id><updated>2011-05-05T10:04:24Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/23473/rss"/><entry><id>http://www.cnblogs.com/vainnetwork/archive/2011/05/05/2038124.html</id><title type="text">SqlServer位运算</title><summary type="text">用2的n次方标识单个的权限 如 0无权限1可读(read)2可新增（insert）4可修改（update）8可删除(delete)16可审核...权限的组合read +insert = 1+2=3 read +insert +delete = 1+2+8=11read + update+delete =1+4+8=13(value = 2的n次方)增加权限power = power | value删除权限power = power &amp;amp;~ valuebtw: 可以一次增加或删除多个权限的组合power = power | 13 同时增加 read + update+deletepower</summary><published>2011-05-05T10:04:00Z</published><updated>2011-05-05T10:04:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2011/05/05/2038124.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2011/05/05/2038124.html"/><content type="html">&lt;p&gt;用2的n次方标识单个的权限 如 &lt;/p&gt;&#xD;
&lt;p&gt;0&amp;nbsp;无权限&lt;br /&gt;1&amp;nbsp;可读(read)&lt;br /&gt;2&amp;nbsp;可新增（insert）&lt;br /&gt;4&amp;nbsp;可修改（update）&lt;br /&gt;8&amp;nbsp;可删除(delete)&lt;br /&gt;16&amp;nbsp;可审核&lt;br /&gt;...&lt;br /&gt;权限的组合&lt;/p&gt;&#xD;
&lt;p&gt;read +insert = 1+2=3 &lt;br /&gt;read +insert +delete = 1+2+8=11&lt;br /&gt;read + update+delete =1+4+8=13&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;(value = 2的n次方)&lt;br /&gt;增加权限&lt;br /&gt;power = power | value&lt;/p&gt;&#xD;
&lt;p&gt;删除权限&lt;br /&gt;power = power &amp;amp;~ value&lt;/p&gt;&#xD;
&lt;p&gt;btw:&amp;nbsp; 可以一次增加或删除多个权限的组合&lt;br /&gt;power = power | 13&amp;nbsp;&amp;nbsp; 同时增加 read + update+delete&lt;br /&gt;power = power &amp;amp;~ 3&amp;nbsp;&amp;nbsp; 同时删除 read + insert&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;判断权限&lt;br /&gt;可以同时判断单个权限，也可以同时判断多个组合权限&lt;/p&gt;&#xD;
&lt;p&gt;power &amp;amp; value = value &lt;/p&gt;&lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/2038124.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2011/05/05/2038124.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/07/06/1772525.html</id><title type="text">讲解MSSQL数据库中SQL锁机制和事务隔离级别</title><summary type="text">MSSQL数据库中SQL锁机制和事务隔离级别</summary><published>2010-07-06T15:23:00Z</published><updated>2010-07-06T15:23:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/07/06/1772525.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/07/06/1772525.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 18pt"&gt;&lt;strong&gt;&lt;font size="3"&gt;锁机制&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;NOLOCK&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;READPAST&lt;span style="font-family: 宋体"&gt;的区别。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;开启一个事务执行插入数据的操作。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: red"&gt;'a'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'a'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;span style="color: red"&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;strong&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;执行一条查询语句。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;NOLOCK&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;结果中显示&lt;/span&gt;&amp;#8221;a&amp;#8221;&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;&amp;#8221;a&amp;#8221;&lt;span style="font-family: 宋体"&gt;。当&lt;/span&gt;1&lt;span style="font-family: 宋体"&gt;中事务回滚后，那么&lt;/span&gt;a&lt;span style="font-family: 宋体"&gt;将成为脏数据。&lt;/span&gt;(&lt;span style="font-family: 宋体"&gt;注&lt;/span&gt;:1&lt;span style="font-family: 宋体"&gt;中的事务未提交&lt;/span&gt;) &lt;span style="font-family: 宋体"&gt;。&lt;/span&gt;NOLOCK&lt;span style="font-family: 宋体"&gt;表明没有对数据表添加共享锁以阻止其它事务对数据表数据的修改。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;这条语句将一直死锁，直到排他锁解除或者锁超时为止。&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;(&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;注&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;:&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;设置锁超时&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;SET LOCK_TIMEOUT 1800)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;READPAST&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;这条语句将显示&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;a&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;未提交前的状态，但不锁定整个表。这个提示指明数据库引擎返回结果时忽略加锁的行或数据页。&lt;/span&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;font size="3"&gt;&lt;strong&gt;3.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;执行一条插入语句。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: red"&gt;'b'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'b'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;这个时候，即使步骤&lt;/span&gt;1&lt;span style="font-family: 宋体"&gt;的事务回滚，那么&lt;/span&gt;a&lt;span style="font-family: 宋体"&gt;这条数据将丢失，而&lt;/span&gt;b&lt;span style="font-family: 宋体"&gt;继续插入数据库中。&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;NOLOCK&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;1．&amp;nbsp;&lt;span style="font-family: 宋体"&gt;执行如下语句。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;NOLOCK&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:20'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;注：&lt;/span&gt;NOLOCK&lt;span style="font-family: 宋体"&gt;不加任何锁，可以增删查改而不锁定。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer &lt;span style="color: blue"&gt;SELECT&lt;/span&gt; &lt;span style="color: red"&gt;'a'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'b' &amp;#8211;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red; font-size: 10pt"&gt;不锁定&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;DELETE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;where&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;1 &lt;span style="color: red"&gt;&amp;#8211;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red; font-size: 10pt"&gt;不锁定&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: red"&gt;&amp;#8211;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red; font-size: 10pt"&gt;不锁定&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;UPDATE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;SET&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa'&lt;/span&gt; &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;1 &lt;span style="color: red"&gt;&amp;#8211;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red; font-size: 10pt"&gt;不锁定&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;ROWLOCK&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;执行一条带行锁的查询语句。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SET&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRANSACTION&lt;/span&gt; &lt;span style="color: blue"&gt;ISOLATION&lt;/span&gt; &lt;span style="color: blue"&gt;LEVEL&lt;/span&gt; REPEATABLE &lt;span style="color: blue"&gt;READ&lt;/span&gt; &lt;span style="color: green"&gt;-- (&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: green; font-size: 10pt"&gt;必须&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: green; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;ROWLOCK&lt;span style="color: gray"&gt;)&lt;/span&gt; &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;17&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:20'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;注：在删除和更新正在查询的数据时，会锁定数据。对其他未查询的行和增加，查询数据无影响。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer &lt;span style="color: blue"&gt;SELECT&lt;/span&gt; &lt;span style="color: red"&gt;'a'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'b' &amp;#8211;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red; font-size: 10pt"&gt;不等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;DELETE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;where&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;17 &amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;DELETE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;where&lt;/span&gt; ID&lt;span style="color: gray"&gt;&amp;lt;&amp;gt;&lt;/span&gt;17 &amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;UPDATE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;SET&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa'&lt;/span&gt; &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;17&amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;UPDATE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;SET&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa'&lt;/span&gt; &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;&amp;lt;&amp;gt;&lt;/span&gt;17&amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;HOLDLOCK&lt;span style="font-family: 宋体"&gt;，&lt;/span&gt;TABLOCK&lt;span style="font-family: 宋体"&gt;和&lt;/span&gt;TABLOCKX&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;执行&lt;/span&gt;HOLDLOCK&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;&lt;span style="color: blue"&gt;HOLDLOCK&lt;/span&gt;&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:10'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;注：其他事务可以读取表，但不能更新删除&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;update&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;set&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa' &lt;/span&gt;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;要等待&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;10&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;秒中。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不需要等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;strong&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;执行&lt;/span&gt;TABLOCKX&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;TABLOCKX&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:10'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;注：其他事务不能读取表&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;,&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;更新和删除&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;update&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;set&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa' &lt;/span&gt;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;要等待&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;10&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;秒中。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;要等待&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;10&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;秒中。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;3.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;执行&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;TABLOCK&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;TABLOCK&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:10'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;注：其他事务可以读取表，但不能更新删除&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;update&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;set&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa' &lt;/span&gt;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;要等待&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;10&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;秒中。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不需要等待&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;strong&gt;UDPLOCK&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;A&lt;span style="font-family: 宋体"&gt;连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WITH&lt;/span&gt; &lt;span style="color: gray"&gt;(&lt;/span&gt;UPDLOCK&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:10'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;strong&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在其他连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;update&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;set&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'aa'&lt;/span&gt; &lt;span style="color: blue"&gt;where&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;1&amp;#8212;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;要等&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;10&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;秒&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不用等&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;insert&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;into&lt;/span&gt; Customer &lt;span style="color: blue"&gt;select&lt;/span&gt; &lt;span style="color: red"&gt;'a'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'b'&lt;/span&gt;&amp;#8211;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不用等&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;注：对于&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;UDPLOCK&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;锁，只对更新数据锁定。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 39pt"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;注：使用这些选项将使系统忽略原先在&lt;/span&gt;SET&lt;span style="font-family: 宋体"&gt;语句设定的事务隔离级别（&lt;/span&gt;SET Transaction Isolation Level)&lt;span style="font-family: 宋体"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 18pt"&gt;&lt;strong&gt;&lt;font size="3"&gt;事务隔离级别&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;脏读：&lt;/span&gt;READ UNCOMMITTED&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;脏读就是指当一个事务正在访问数据，并且对数据进行了修改，而这种修改还没有提交到数据库中，这时，另外一个事务也访问这个数据，然后使用了这个数据。因为这个数据是还没有提交的数据，那么另外一个事务读到的这个数据是脏数据，依据脏数据所做的操作可能是不正确的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;A&lt;span style="font-family: 宋体"&gt;连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: red"&gt;'123'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'123'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:20'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;/span&gt;&lt;strong&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;B&lt;span style="font-family: 宋体"&gt;连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SET&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRANSACTION&lt;/span&gt; &lt;span style="color: blue"&gt;ISOLATION&lt;/span&gt; &lt;span style="color: blue"&gt;LEVEL&lt;/span&gt; &lt;span style="color: blue"&gt;READ&lt;/span&gt; UNCOMMITTED&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;这个时候，未提交的数据会&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&amp;#8217;123&amp;#8217;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;会显示出来，当&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;事务回滚时就导致了脏数据。相当于&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;(NOLOCK)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;提交读：&lt;/span&gt;READ COMMITTED&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;A&lt;span style="font-family: 宋体"&gt;连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: red"&gt;'123'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'123'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:20'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;/span&gt;&lt;strong&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;B&lt;span style="font-family: 宋体"&gt;连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SET&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRANSACTION&lt;/span&gt; &lt;span style="color: blue"&gt;ISOLATION&lt;/span&gt; &lt;span style="color: blue"&gt;LEVEL&lt;/span&gt; &lt;span style="color: blue"&gt;READ&lt;/span&gt; COMMITTED&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;这个时候，未提交的数据会&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&amp;#8217;123&amp;#8217;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;不会显示出来，当&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;事务提交以后&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;B&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;中才能读取到数据。避免了脏读。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;不可重复读：&lt;/span&gt;REPEATABLE READ&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;不可重复读是指在一个事务内，多次读同一数据。在这个事务还没有结束时，另外一个事务也访问该同一数据。那么，在第一个事务中的两次读数据之间，由于第二个事务的修改，那么第一个事务两次读到的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的，因此称为是不可重复读。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;例如：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;A&lt;span style="font-family: 宋体"&gt;连接中执行如下语句。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SET&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRANSACTION&lt;/span&gt; &lt;span style="color: blue"&gt;ISOLATION&lt;/span&gt; &lt;span style="color: blue"&gt;LEVEL&lt;/span&gt; REPEATABLE &lt;span style="color: blue"&gt;READ&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;17&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:30'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: gray"&gt;*&lt;/span&gt; &lt;span style="color: blue"&gt;FROM&lt;/span&gt; Customer &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;17&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; ttt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;/span&gt;&lt;strong&gt;2.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;B&lt;span style="font-family: 宋体"&gt;连接中执行如下语句，而且要在第一个事物的三十秒等待内。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;UPDATE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;SET&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'d'&lt;/span&gt; &lt;span style="color: blue"&gt;WHERE&lt;/span&gt; ID&lt;span style="color: gray"&gt;=&lt;/span&gt;17&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;这个时候，此连接将锁住不能执行，一直等到&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;连接结束为止。而且&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;连接中两次读取到的数据相同，不受&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;B&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;连接干扰。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;注，对于&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;Read Committed&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;Read UnCommitted&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;情况下，&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;B&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;连接不会锁住，等到&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;连接执行完以后，两条查询语句结果不同，即第二条查询的&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;Title&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;变成了&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;d&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;序列化读：&lt;/span&gt;SERIALIZABLE&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1.&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;A&lt;span style="font-family: 宋体"&gt;连接中执行。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SET&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRANSACTION&lt;/span&gt; &lt;span style="color: blue"&gt;ISOLATION&lt;/span&gt; &lt;span style="color: blue"&gt;LEVEL&lt;/span&gt; SERIALIZABLE&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;UPDATE&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; Customer &lt;span style="color: blue"&gt;SET&lt;/span&gt; Title&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: red"&gt;'111'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;WAITFOR&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; delay &lt;span style="color: red"&gt;'00:00:20'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; t&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;2.&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;在&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;B&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;连接中执行，并且要在&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;执行后的&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;秒内。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;BEGIN&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; tt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;INSERT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;INTO&lt;/span&gt; Customer&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;SELECT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: red"&gt;'2'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'2'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Courier New'; color: blue; font-size: 10pt"&gt;COMMIT&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt"&gt; &lt;span style="color: blue"&gt;TRAN&lt;/span&gt; tt&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;在&lt;/span&gt;A&lt;span style="font-family: 宋体"&gt;连接的事务提交之前，&lt;/span&gt;B&lt;span style="font-family: 宋体"&gt;连接无法插入数据到表中，这就避免了幻觉读。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;注：幻觉读是指当事务不是独立执行时发生的一种现象，例如&lt;/span&gt; &lt;span style="font-family: 宋体"&gt;第一个事务对一个表中的数据进行了修改，这种修改涉及到表中的全部数据行。同时，第二个事务也修改这个表中的数据，这种修改是向表中插入一行新数据。那么，以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行，就好像发生了幻觉一样。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;&lt;strong&gt;共享锁&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;共享锁（&lt;/span&gt;S &lt;span style="font-family: 宋体"&gt;锁）允许并发事务在封闭式并发控制（请参阅并发控制的类型）下读取&lt;/span&gt; (SELECT) &lt;span style="font-family: 宋体"&gt;资源。资源上存在共享锁（&lt;/span&gt;S &lt;span style="font-family: 宋体"&gt;锁）时，任何其他事务都不能修改数据。读取操作一完成，就立即释放资源上的共享锁（&lt;/span&gt;S &lt;span style="font-family: 宋体"&gt;锁），除非将事务隔离级别设置为可重复读或更高级别，或者在事务持续时间内用锁定提示保留共享锁（&lt;/span&gt;S &lt;span style="font-family: 宋体"&gt;锁）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;&lt;strong&gt;更新锁&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;更新锁（&lt;/span&gt;U &lt;span style="font-family: 宋体"&gt;锁）可以防止常见的死锁。在可重复读或可序列化事务中，此事务读取数据&lt;/span&gt; [&lt;span style="font-family: 宋体"&gt;获取资源（页或行）的共享锁（&lt;/span&gt;S &lt;span style="font-family: 宋体"&gt;锁）&lt;/span&gt;]&lt;span style="font-family: 宋体"&gt;，然后修改数据&lt;/span&gt; [&lt;span style="font-family: 宋体"&gt;此操作要求锁转换为排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁）&lt;/span&gt;]&lt;span style="font-family: 宋体"&gt;。如果两个事务获得了资源上的共享模式锁，然后试图同时更新数据，则一个事务尝试将锁转换为排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁）。共享模式到排他锁的转换必须等待一段时间，因为一个事务的排他锁与其他事务的共享模式锁不兼容；发生锁等待。第二个事务试图获取排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁）以进行更新。由于两个事务都要转换为排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁），并且每个事务都等待另一个事务释放共享模式锁，因此发生死锁。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;若要避免这种潜在的死锁问题，请使用更新锁（&lt;/span&gt;U &lt;span style="font-family: 宋体"&gt;锁）。一次只有一个事务可以获得资源的更新锁（&lt;/span&gt;U &lt;span style="font-family: 宋体"&gt;锁）。如果事务修改资源，则更新锁（&lt;/span&gt;U &lt;span style="font-family: 宋体"&gt;锁）转换为排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁）。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体"&gt;&lt;strong&gt;排他锁&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁）可以防止并发事务对资源进行访问。使用排他锁（&lt;/span&gt;X &lt;span style="font-family: 宋体"&gt;锁）时，任何其他事务都无法修改数据；仅在使用&lt;/span&gt; NOLOCK &lt;span style="font-family: 宋体"&gt;提示或未提交读隔离级别时才会进行读取操作。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体"&gt;数据修改语句（如&lt;/span&gt; INSERT&lt;span style="font-family: 宋体"&gt;、&lt;/span&gt;UPDATE &lt;span style="font-family: 宋体"&gt;和&lt;/span&gt; DELETE&lt;span style="font-family: 宋体"&gt;）合并了修改和读取操作。语句在执行所需的修改操作之前首先执行读取操作以获取数据。因此，数据修改语句通常请求共享锁和排他锁。例如，&lt;/span&gt;UPDATE &lt;span style="font-family: 宋体"&gt;语句可能根据与一个表的联接修改另一个表中的行。在此情况下，除了请求更新行上的排他锁之外，&lt;/span&gt;UPDATE &lt;span style="font-family: 宋体"&gt;语句还将请求在联接表中读取的行上的共享锁。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1772525.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/07/06/1772525.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/07/01/1769250.html</id><title type="text">WEB项目使用远程桌面，Embedding the Remote Desktop ActiveX Control in a Web Page</title><summary type="text">WEB项目使用远程桌面，Embedding the Remote Desktop ActiveX Control in a Web Page</summary><published>2010-07-01T08:13:00Z</published><updated>2010-07-01T08:13:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/07/01/1769250.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/07/01/1769250.html"/><content type="html">&lt;div &gt;&#xD;
&lt;div  xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&#xD;
&lt;div &gt;Embedding the Remote Desktop ActiveX Control in a Web Page&lt;/div&gt;&#xD;
&lt;div id="mainSection"&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&#xD;
&lt;p&gt;You can embed the Remote Desktop ActiveX control in a Web page by inserting the HTML &lt;strong&gt;OBJECT&lt;/strong&gt; element, as in the following example.&lt;/p&gt;&#xD;
&lt;div  xmlns=""&gt;&lt;a name="CodeSpippet0"&gt;&lt;/a&gt;&#xD;
&lt;div &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div style="valign: top" &gt;&lt;a title="Copy to clipboard." href="http://www.cnblogs.com/vainnetwork/admin/javascript:CodeSnippet_CopyCode('CodeSnippetContainerCode0');" target="_blank"&gt;&lt;font color="#1364c4" size="2"&gt;Copy&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;div id="CodeSnippetContainerCode0" &gt;&#xD;
&lt;div style="color: black"&gt;&lt;pre&gt;&amp;lt;OBJECT language="vbscript" ID="MsRdpClient"&#xD;
    onerror="OnControlLoadError"&#xD;
    onreadystatechange="OnControlLoad"&#xD;
    CLASSID="CLSID:4eb89ff4-7f78-4a0f-8b8d-2bf02e94e4b2"&#xD;
    WIDTH=800&#xD;
    HEIGHT=600&amp;gt;&#xD;
&amp;lt;/OBJECT&amp;gt;&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;The CLSID is for the ActiveX control that is hosted by Remote Desktop Connection (RDP) 6.0. This ActiveX control implements &lt;a href="http://msdn.microsoft.com/en-us/library/aa380832.aspx" target="_blank"&gt;&lt;strong xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;font color="#960bb4"&gt;MsRdpClient5&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a title="Send comments about this topic to Microsoft" href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#119;&amp;#115;&amp;#100;&amp;#100;&amp;#111;&amp;#99;&amp;#102;&amp;#98;&amp;#64;&amp;#109;&amp;#105;&amp;#99;&amp;#114;&amp;#111;&amp;#115;&amp;#111;&amp;#102;&amp;#116;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&amp;#63;&amp;#115;&amp;#117;&amp;#98;&amp;#106;&amp;#101;&amp;#99;&amp;#116;&amp;#61;&amp;#68;&amp;#111;&amp;#99;&amp;#117;&amp;#109;&amp;#101;&amp;#110;&amp;#116;&amp;#97;&amp;#116;&amp;#105;&amp;#111;&amp;#110;&amp;#37;&amp;#50;&amp;#48;&amp;#102;&amp;#101;&amp;#101;&amp;#100;&amp;#98;&amp;#97;&amp;#99;&amp;#107;&amp;#32;&amp;#91;&amp;#116;&amp;#101;&amp;#114;&amp;#109;&amp;#115;&amp;#101;&amp;#114;&amp;#118;&amp;#92;&amp;#116;&amp;#101;&amp;#114;&amp;#109;&amp;#115;&amp;#101;&amp;#114;&amp;#118;&amp;#93;&amp;#58;&amp;#37;&amp;#50;&amp;#48;&amp;#69;&amp;#109;&amp;#98;&amp;#101;&amp;#100;&amp;#100;&amp;#105;&amp;#110;&amp;#103;&amp;#32;&amp;#116;&amp;#104;&amp;#101;&amp;#32;&amp;#82;&amp;#101;&amp;#109;&amp;#111;&amp;#116;&amp;#101;&amp;#32;&amp;#68;&amp;#101;&amp;#115;&amp;#107;&amp;#116;&amp;#111;&amp;#112;&amp;#32;&amp;#65;&amp;#99;&amp;#116;&amp;#105;&amp;#118;&amp;#101;&amp;#88;&amp;#32;&amp;#67;&amp;#111;&amp;#110;&amp;#116;&amp;#114;&amp;#111;&amp;#108;&amp;#32;&amp;#105;&amp;#110;&amp;#32;&amp;#97;&amp;#32;&amp;#87;&amp;#101;&amp;#98;&amp;#32;&amp;#80;&amp;#97;&amp;#103;&amp;#101;&amp;#32;&amp;#37;&amp;#50;&amp;#48;&amp;#32;&amp;#82;&amp;#69;&amp;#76;&amp;#69;&amp;#65;&amp;#83;&amp;#69;&amp;#58;&amp;#37;&amp;#50;&amp;#48;&amp;#40;&amp;#53;&amp;#47;&amp;#50;&amp;#55;&amp;#47;&amp;#50;&amp;#48;&amp;#49;&amp;#48;&amp;#41;&amp;#38;&amp;#97;&amp;#109;&amp;#112;&amp;#59;&amp;#98;&amp;#111;&amp;#100;&amp;#121;&amp;#61;&amp;#37;&amp;#48;&amp;#65;&amp;#37;&amp;#48;&amp;#65;&amp;#80;&amp;#82;&amp;#73;&amp;#86;&amp;#65;&amp;#67;&amp;#89;&amp;#32;&amp;#83;&amp;#84;&amp;#65;&amp;#84;&amp;#69;&amp;#77;&amp;#69;&amp;#78;&amp;#84;&amp;#37;&amp;#48;&amp;#65;&amp;#37;&amp;#48;&amp;#65;&amp;#84;&amp;#104;&amp;#101;&amp;#32;&amp;#83;&amp;#68;&amp;#75;&amp;#32;&amp;#116;&amp;#101;&amp;#97;&amp;#109;&amp;#32;&amp;#117;&amp;#115;&amp;#101;&amp;#115;&amp;#32;&amp;#116;&amp;#104;&amp;#101;&amp;#32;&amp;#102;&amp;#101;&amp;#101;&amp;#100;&amp;#98;&amp;#97;&amp;#99;&amp;#107;&amp;#32;&amp;#115;&amp;#117;&amp;#98;&amp;#109;&amp;#105;&amp;#116;&amp;#116;&amp;#101;&amp;#100;&amp;#32;&amp;#116;&amp;#111;&amp;#32;&amp;#105;&amp;#109;&amp;#112;&amp;#114;&amp;#111;&amp;#118;&amp;#101;&amp;#32;&amp;#116;&amp;#104;&amp;#101;&amp;#32;&amp;#83;&amp;#68;&amp;#75;&amp;#32;&amp;#100;&amp;#111;&amp;#99;&amp;#117;&amp;#109;&amp;#101;&amp;#110;&amp;#116;&amp;#97;&amp;#116;&amp;#105;&amp;#111;&amp;#110;&amp;#46;&amp;#32;&amp;#87;&amp;#101;&amp;#32;&amp;#100;&amp;#111;&amp;#32;&amp;#110;&amp;#111;&amp;#116;&amp;#32;&amp;#117;&amp;#115;&amp;#101;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#114;&amp;#32;&amp;#101;&amp;#45;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#32;&amp;#97;&amp;#100;&amp;#100;&amp;#114;&amp;#101;&amp;#115;&amp;#115;&amp;#32;&amp;#102;&amp;#111;&amp;#114;&amp;#32;&amp;#97;&amp;#110;&amp;#121;&amp;#32;&amp;#111;&amp;#116;&amp;#104;&amp;#101;&amp;#114;&amp;#32;&amp;#112;&amp;#117;&amp;#114;&amp;#112;&amp;#111;&amp;#115;&amp;#101;&amp;#46;&amp;#32;&amp;#87;&amp;#101;&amp;#32;&amp;#119;&amp;#105;&amp;#108;&amp;#108;&amp;#32;&amp;#114;&amp;#101;&amp;#109;&amp;#111;&amp;#118;&amp;#101;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#114;&amp;#32;&amp;#101;&amp;#45;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#32;&amp;#97;&amp;#100;&amp;#100;&amp;#114;&amp;#101;&amp;#115;&amp;#115;&amp;#32;&amp;#102;&amp;#114;&amp;#111;&amp;#109;&amp;#32;&amp;#111;&amp;#117;&amp;#114;&amp;#32;&amp;#115;&amp;#121;&amp;#115;&amp;#116;&amp;#101;&amp;#109;&amp;#32;&amp;#97;&amp;#102;&amp;#116;&amp;#101;&amp;#114;&amp;#32;&amp;#116;&amp;#104;&amp;#101;&amp;#32;&amp;#105;&amp;#115;&amp;#115;&amp;#117;&amp;#101;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#32;&amp;#97;&amp;#114;&amp;#101;&amp;#32;&amp;#114;&amp;#101;&amp;#112;&amp;#111;&amp;#114;&amp;#116;&amp;#105;&amp;#110;&amp;#103;&amp;#32;&amp;#104;&amp;#97;&amp;#115;&amp;#32;&amp;#98;&amp;#101;&amp;#101;&amp;#110;&amp;#32;&amp;#114;&amp;#101;&amp;#115;&amp;#111;&amp;#108;&amp;#118;&amp;#101;&amp;#100;&amp;#46;&amp;#32;&amp;#87;&amp;#104;&amp;#105;&amp;#108;&amp;#101;&amp;#32;&amp;#119;&amp;#101;&amp;#32;&amp;#97;&amp;#114;&amp;#101;&amp;#32;&amp;#119;&amp;#111;&amp;#114;&amp;#107;&amp;#105;&amp;#110;&amp;#103;&amp;#32;&amp;#116;&amp;#111;&amp;#32;&amp;#114;&amp;#101;&amp;#115;&amp;#111;&amp;#108;&amp;#118;&amp;#101;&amp;#32;&amp;#116;&amp;#104;&amp;#105;&amp;#115;&amp;#32;&amp;#105;&amp;#115;&amp;#115;&amp;#117;&amp;#101;&amp;#44;&amp;#32;&amp;#119;&amp;#101;&amp;#32;&amp;#109;&amp;#97;&amp;#121;&amp;#32;&amp;#115;&amp;#101;&amp;#110;&amp;#100;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#32;&amp;#97;&amp;#110;&amp;#32;&amp;#101;&amp;#45;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#32;&amp;#109;&amp;#101;&amp;#115;&amp;#115;&amp;#97;&amp;#103;&amp;#101;&amp;#32;&amp;#116;&amp;#111;&amp;#32;&amp;#114;&amp;#101;&amp;#113;&amp;#117;&amp;#101;&amp;#115;&amp;#116;&amp;#32;&amp;#109;&amp;#111;&amp;#114;&amp;#101;&amp;#32;&amp;#105;&amp;#110;&amp;#102;&amp;#111;&amp;#114;&amp;#109;&amp;#97;&amp;#116;&amp;#105;&amp;#111;&amp;#110;&amp;#32;&amp;#97;&amp;#98;&amp;#111;&amp;#117;&amp;#116;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#114;&amp;#32;&amp;#102;&amp;#101;&amp;#101;&amp;#100;&amp;#98;&amp;#97;&amp;#99;&amp;#107;&amp;#46;&amp;#32;&amp;#65;&amp;#102;&amp;#116;&amp;#101;&amp;#114;&amp;#32;&amp;#116;&amp;#104;&amp;#101;&amp;#32;&amp;#105;&amp;#115;&amp;#115;&amp;#117;&amp;#101;&amp;#115;&amp;#32;&amp;#104;&amp;#97;&amp;#118;&amp;#101;&amp;#32;&amp;#98;&amp;#101;&amp;#101;&amp;#110;&amp;#32;&amp;#97;&amp;#100;&amp;#100;&amp;#114;&amp;#101;&amp;#115;&amp;#115;&amp;#101;&amp;#100;&amp;#44;&amp;#32;&amp;#119;&amp;#101;&amp;#32;&amp;#109;&amp;#97;&amp;#121;&amp;#32;&amp;#115;&amp;#101;&amp;#110;&amp;#100;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#32;&amp;#97;&amp;#110;&amp;#32;&amp;#101;&amp;#45;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#32;&amp;#109;&amp;#101;&amp;#115;&amp;#115;&amp;#97;&amp;#103;&amp;#101;&amp;#32;&amp;#116;&amp;#111;&amp;#32;&amp;#108;&amp;#101;&amp;#116;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#32;&amp;#107;&amp;#110;&amp;#111;&amp;#119;&amp;#32;&amp;#116;&amp;#104;&amp;#97;&amp;#116;&amp;#32;&amp;#121;&amp;#111;&amp;#117;&amp;#114;&amp;#32;&amp;#102;&amp;#101;&amp;#101;&amp;#100;&amp;#98;&amp;#97;&amp;#99;&amp;#107;&amp;#32;&amp;#104;&amp;#97;&amp;#115;&amp;#32;&amp;#98;&amp;#101;&amp;#101;&amp;#110;&amp;#32;&amp;#97;&amp;#100;&amp;#100;&amp;#114;&amp;#101;&amp;#115;&amp;#115;&amp;#101;&amp;#100;&amp;#46;&amp;#37;&amp;#48;&amp;#65;&amp;#37;&amp;#48;&amp;#65;&amp;#70;&amp;#111;&amp;#114;&amp;#32;&amp;#109;&amp;#111;&amp;#114;&amp;#101;&amp;#32;&amp;#105;&amp;#110;&amp;#102;&amp;#111;&amp;#114;&amp;#109;&amp;#97;&amp;#116;&amp;#105;&amp;#111;&amp;#110;&amp;#32;&amp;#97;&amp;#98;&amp;#111;&amp;#117;&amp;#116;&amp;#32;&amp;#77;&amp;#105;&amp;#99;&amp;#114;&amp;#111;&amp;#115;&amp;#111;&amp;#102;&amp;#116;&amp;#39;&amp;#115;&amp;#32;&amp;#112;&amp;#114;&amp;#105;&amp;#118;&amp;#97;&amp;#99;&amp;#121;&amp;#32;&amp;#112;&amp;#111;&amp;#108;&amp;#105;&amp;#99;&amp;#121;&amp;#44;&amp;#32;&amp;#115;&amp;#101;&amp;#101;&amp;#32;&amp;#104;&amp;#116;&amp;#116;&amp;#112;&amp;#58;&amp;#47;&amp;#47;&amp;#112;&amp;#114;&amp;#105;&amp;#118;&amp;#97;&amp;#99;&amp;#121;&amp;#46;&amp;#109;&amp;#105;&amp;#99;&amp;#114;&amp;#111;&amp;#115;&amp;#111;&amp;#102;&amp;#116;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&amp;#47;&amp;#101;&amp;#110;&amp;#45;&amp;#117;&amp;#115;&amp;#47;&amp;#100;&amp;#101;&amp;#102;&amp;#97;&amp;#117;&amp;#108;&amp;#116;&amp;#46;&amp;#97;&amp;#115;&amp;#112;&amp;#120;&amp;#46;" target="_blank"&gt;&lt;font color="#1364c4"&gt;Send comments about this topic to Microsoft&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Build date: 5/27/2010&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&#xD;
&lt;div id="CommunityContent" &gt;&#xD;
&lt;div &gt;&#xD;
&lt;div id="CommunityContentHeader" &gt;&#xD;
&lt;div &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#389a4c" size="6"&gt;Community Content&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a title="Add" href="http://msdn.microsoft.com/en-us/library/community/add/aa380809.aspx" target="_blank"&gt;&lt;font color="#1364c4"&gt;Add&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&lt;a title="Annotations" href="http://msdn.microsoft.com/en-us/library/community-edits.rss?topic=aa380809|en-us|VS.85" target="_blank"&gt;&lt;font color="#1364c4"&gt;&lt;img  alt="Annotations" src="http://i.msdn.microsoft.com/Hash/030c41d9079671d09a62d8e2c1db6973.gif" /&gt;&lt;/img&gt;&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="clear: both"&gt;&lt;font color="#1364c4"&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&lt;a name="3"&gt;&lt;/a&gt;&#xD;
&lt;div &gt;&lt;span&gt;&amp;lt;OBJECT language="vbscript" ID="MsRdpClient" &lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&#xD;
&lt;p&gt;&amp;lt;OBJECT language="vbscript" ID="MsRdpClient"&lt;br /&gt;CLASSID="CLSID:9059f30f-4eb1-4bd2-9fdc-36f43a218f4a"&lt;br /&gt;CODEBASE="msrdp.cab#version=5,1,2524,0"&lt;br /&gt;WIDTH=&amp;lt;% resWidth = Request.QueryString("rW")&lt;br /&gt;if resWidth &amp;lt; 200 or resWidth &amp;gt; 1600 then&lt;br /&gt;resWidth = 800&lt;br /&gt;end if&lt;br /&gt;Response.Write resWidth %&amp;gt;&lt;br /&gt;HEIGHT=&amp;lt;% resHeight = Request.QueryString("rH")&lt;br /&gt;if resHeight &amp;lt; 200 or resHeight &amp;gt; 1200 then&lt;br /&gt;resHeight = 600&lt;br /&gt;end if&lt;br /&gt;Response.Write resHeight %&amp;gt;&amp;gt;&lt;br /&gt;&amp;lt;PARAM NAME = property1 value = property1value&amp;gt; &lt;br /&gt;&amp;lt;PARAM NAME = property2 value = property2value&amp;gt; &lt;br /&gt;... &lt;br /&gt;&amp;lt;/OBJECT&amp;gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1769250.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/07/01/1769250.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/05/24/1742840.html</id><title type="text">C# 窗体显示自定义位置,任意位置,窗体显示在屏幕下方</title><summary type="text">C# 窗体显示自定义位置,任意位置,窗体显示在屏幕下方</summary><published>2010-05-24T08:09:00Z</published><updated>2010-05-24T08:09:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/24/1742840.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/24/1742840.html"/><content type="html">&lt;div id="blog_text" &gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;由于项目需要，打开窗体的位置要位于屏幕的右下方，所以默认的位置解决不了，那就自定义显示位置，可以设置显示到任意位置&lt;br /&gt;&lt;/span&gt;我的窗体大小为240&amp;#215;109，在显示器的右下角打开。&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;int &lt;font color="#0000ff"&gt;WidthLocation&lt;/font&gt;= System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - &lt;strong&gt;240&lt;/strong&gt;;&lt;br /&gt;int &lt;font color="#0000ff"&gt;Height&lt;font color="#0000ff"&gt;Location&lt;/font&gt; &lt;/font&gt;=System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - &lt;strong&gt;109&lt;/strong&gt;;&lt;br /&gt;this.SetDesktopLocation(&lt;font color="#0000ff"&gt;WidthLocation&lt;/font&gt;,&lt;font color="#0000ff"&gt;HeightLocation &lt;/font&gt;);&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font color="#ff0000"&gt;根据自己的窗体大小，可以任意设置显示位置&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;窗体显示屏幕下边,窗体显示屏幕左边,窗体显示屏幕右边,窗体显示屏幕上边都可以自定义解决&lt;/p&gt;&lt;/div&gt;    &lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1742840.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/05/24/1742840.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/05/19/1739330.html</id><title type="text">15 个 JavaScript Web UI 库</title><summary type="text">15 个 JavaScript Web UI 库</summary><published>2010-05-19T08:27:00Z</published><updated>2010-05-19T08:27:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/19/1739330.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/19/1739330.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;转载&lt;a href="http://news.csdn.net/a/20100519/218442.html" target="_blank"&gt;http://news.csdn.net/a/20100519/218442.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架，这些 UI 库与框架极大地简化了开发进程，并带来一致，可靠，以及高度交互性的用户界面。本文介绍了 15 个非常强大的 JavaScript Web UI 库，非常适合各种各种规模的富 Web 应用的开发。&lt;/p&gt;&#xD;
&lt;h2 &gt;LivePipe&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://livepipe.net/" target="_blank"&gt;LivePipe UI&lt;/a&gt; 基于 &lt;a href="http://www.prototypejs.org/" target="_blank"&gt;Prototype Javascript 框架&lt;/a&gt;，包含了一整套经严格测试并高度可扩展的 UI 控件，拥有很好的文档，在不支持 JavaScript 的环境中，可以无缝降级使用。包括 Tab, 窗体，文本框，多选框，评分控件，进度条，滚动条，右键菜单等多种控件。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://livepipe.net/" target="_blank"&gt;&lt;strong&gt;LivePipe&lt;/strong&gt; 首页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://livepipe.net/control#rating" target="_blank"&gt;&lt;strong&gt;LivePipe&lt;/strong&gt; 演示与示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://livepipe.net/control#rating" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_02.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;UKI&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://ukijs.org/" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://ukijs.org/" target="_blank"&gt;UKI&lt;/a&gt; 是一套简单的 JavaScript UI 工具集，用于快速创建桌面风格的 Web 应用。包含的控件从滑动条，到分栏视图，不一而足。熟悉 &lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt; 的开发者会发现这个工具很容易上手，非常简洁，无需安装框架，不依赖 CSS 引用。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://ukijs.org/" target="_blank"&gt;&lt;strong&gt;UKI&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ukijs.org/examples/" target="_blank"&gt;&lt;strong&gt;UKI&lt;/strong&gt; 控件，演示，示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://ukijs.org/examples/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_04.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;MochaUI&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://mochaui.com/" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://mochaui.com/" target="_blank"&gt;MochaUI&lt;/a&gt; 是 &lt;a href="http://mootools.net/" target="_blank"&gt;MooTools Javascript 框架&lt;/a&gt; 与 ExplorerCanvas 的一个备受欢迎的扩展，可以用来快速创建 Web 应用，Web 桌面，网站，饰件，独立 Windows，Modal 对话框等等。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://mochaui.com/" target="_blank"&gt;&lt;strong&gt;MochaUI&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mochaui.com/demo/" target="_blank"&gt;&lt;strong&gt;MochaUI&lt;/strong&gt; 控件，演示，示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://mochaui.com/demo/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_06.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;中文编译来源：&lt;a href="http://www.comsharp.com/" target="_blank"&gt;&lt;strong&gt;锐商企业CMS&lt;/strong&gt; 网站内容管理系统&lt;/a&gt; 官方网站&lt;/p&gt;&#xD;
&lt;h2 &gt;Sigma Ajax UI Builder&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://sourceforge.net/projects/ajaxuibuilder/" target="_blank"&gt;SigmaVisual&lt;/a&gt; 是一套基于 Web 的，所见即所得的 AJAX UI 创建工具，包含超过40个不见，如 Tab，对话框，树形图，时间线等，基于 JavaScript 和 PHP。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://sourceforge.net/projects/ajaxuibuilder/" target="_blank"&gt;&lt;strong&gt;Sigma Ajax UI Builder&lt;/strong&gt; 主页和下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sigmawidgets.com/products/sigma_visual/VisualJS/index.html" target="_blank"&gt;&lt;strong&gt;Sigma Ajax UI Builder&lt;/strong&gt; 控件，演示和示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.sigmawidgets.com/products/sigma_visual/VisualJS/index.html" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_08.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;JxLib based MooTools&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jxlib.org/" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jxlib.org/" target="_blank"&gt;JxLib&lt;/a&gt; 是一个基于 &lt;a href="http://mootools.net/" target="_blank"&gt;MooTools&lt;/a&gt; 的 JavaScript UI 框架，包含多数 Web 程序都需要的基本空间，如按钮，Tab，菜单，树形结构，对话框等等。JxLib 还支持换肤功能。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jxlib.org/" target="_blank"&gt;&lt;strong&gt;JxLib&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jxlib.org/" target="_blank"&gt;&lt;strong&gt;JxLib&lt;/strong&gt; 控件，演示与示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jxlib.org/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_10.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Dijit &amp;#8211; The Dojo Toolkit&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://dojotoolkit.org/reference-guide/dijit/index.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://dojotoolkit.org/reference-guide/dijit/index.html" target="_blank"&gt;Dijit&lt;/a&gt; 基于 &lt;a href="http://www.dojotoolkit.org/" target="_blank"&gt;Dojo&lt;/a&gt;，也是学习 Dojo 扩展的一个好起点。可以用来创建非常漂亮的 Web 2.0 GUI。支持多语种，甚至支持不同语种的文字书写方向以及本地化数字，日期等等。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://dojotoolkit.org/reference-guide/dijit/index.html" target="_blank"&gt;&lt;strong&gt;Dijit&lt;/strong&gt; 主页，下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themeTester.html" target="_blank"&gt;&lt;strong&gt;Dijit&lt;/strong&gt; 控件，演示，示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/themeTester.html" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_12.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;jQuery TOOLS&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://flowplayer.org/tools/index.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://flowplayer.org/tools/index.html" target="_blank"&gt;jQuery Tools&lt;/a&gt; 是一个非常轻量（2.5kb）的常用 UI 库，支持以下 jQuery 对象，Tabs, 工具提示，滚动条，层，表单以及 Flash 嵌套。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://flowplayer.org/tools/index.html" target="_blank"&gt;&lt;strong&gt;jQuery TOOLS&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://flowplayer.org/tools/demos/index.html" target="_blank"&gt;&lt;strong&gt;jQuery TOOLS&lt;/strong&gt; 控件，演示，示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://flowplayer.org/tools/demos/index.html" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_14.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;jQuery UI&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jqueryui.com/home" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jqueryui.com/home" target="_blank"&gt;jQuery UI&lt;/a&gt; 基于 &lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt;，包含 3 个大类，饰件，一些内置的 UI 对象；效果，对各种网页对象施加动画效果（如爆炸效果）；鼠标交互，如拖放操作。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jqueryui.com/home" target="_blank"&gt;&lt;strong&gt;jQuery UI&lt;/strong&gt; 首页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jqueryui.com/demos/" target="_blank"&gt;&lt;strong&gt;jQuery UI&lt;/strong&gt; 控件，演示与示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://jqueryui.com/demos/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_16.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Prototype UI&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.prototype-ui.com/" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.prototype-ui.com/" target="_blank"&gt;Prototype UI&lt;/a&gt; 基于 &lt;a href="http://www.prototypejs.org/" target="_blank"&gt;Prototype&lt;/a&gt; 与 &lt;a href="http://script.aculo.us/" target="_blank"&gt;Script.aculo.us&lt;/a&gt;，包括多个模块（旋转木马，Modal 窗口，阴影，右键菜单等），每个模块可以单独安装使用。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.prototype-ui.com/" target="_blank"&gt;&lt;strong&gt;Prototype UI&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.prototype-ui.com/rc0/Window" target="_blank"&gt;&lt;strong&gt;Prototype UI&lt;/strong&gt; 控件，演示与示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://docs.prototype-ui.com/rc0/Window" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.com/wp-content/uploads/2010/05/webui_18.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Jitsu&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.jitsu.org/jitsu/index.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.jitsu.org/jitsu/index.html" target="_blank"&gt;Jitsu&lt;/a&gt; 功能包括 XML 标记，页面编译，动画引擎，Ajax 以及运行时检测等等，它的 Ajax 功能使消费级 Web 应用的创建变得非常简单，支持客户端数据绑定，还可以将页面编译成 JavaScript，&lt;a href="http://www.jitsu.org/jitsu/index.html" target="_blank"&gt;Jitsu&lt;/a&gt; 在 Firefox 和 IE 中运行最佳。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.jitsu.org/jitsu/index.html" target="_blank"&gt;&lt;strong&gt;Jitsu&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jitsu.org/jitsu/quicktours/basic_helloworld.html" target="_blank"&gt;&lt;strong&gt;Jitsu&lt;/strong&gt; 控件，演示与示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.jitsu.org/jitsu/quicktours/basic_helloworld.html" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_20.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Qutensil&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://qutensil.com/" target="_blank"&gt;Qutensil&lt;/a&gt; 仍在开发中，但其路线图已经显示出某些引人注目的东西，基于 &lt;a href="http://www.prototypejs.org/" target="_blank"&gt;Prototype&lt;/a&gt; 与 &lt;a href="http://script.aculo.us/" target="_blank"&gt;Scriptaculous&lt;/a&gt; ，包含消息，调色板，滑动条，工具提示，可拖放窗口以及警告，确认，提示等窗口。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://qutensil.com/" target="_blank"&gt;&lt;strong&gt;Qutensil&lt;/strong&gt; 主页，下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://qutensil.com/pages/modules" target="_blank"&gt;&lt;strong&gt;Qutensil&lt;/strong&gt; 控件，演示，示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://qutensil.com/pages/modules" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_22.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Script.aculo.us&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://script.aculo.us/" target="_blank"&gt;script.aculo.us&lt;/a&gt; 是一个备受欢迎的 UI 工具集，基于 &lt;a href="http://www.prototypejs.org/" target="_blank"&gt;Prototype 框架&lt;/a&gt;，提供了诸如视觉效果，UI 控件以及面向 DOM 的工具。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://script.aculo.us/" target="_blank"&gt;&lt;strong&gt;Script.aculo.us&lt;/strong&gt; 首页与下载&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://wiki.github.com/madrobby/scriptaculous/demos" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_24.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Alloy UI&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://alloy.liferay.com/" target="_blank"&gt;AlloyUI&lt;/a&gt; 是一套功能丰富的 UI 框架，基于 YUI 3，部分基于 YUI 2，包含一套丰富的（超过60）UI 部件，如图片库，对话框，树形结构，面板，自动完成，按钮，日历控件，工具条等。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://alloy.liferay.com/" target="_blank"&gt;&lt;strong&gt;Alloy UI&lt;/strong&gt; 首页和下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://alloy.liferay.com/demos.php" target="_blank"&gt;&lt;strong&gt;Alloy UI&lt;/strong&gt; 控件，演示与示例&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://alloy.liferay.com/demos.php" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_26.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;iUI: iPhone UI 框架&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://code.google.com/p/iui/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_27.jpg" /&gt;&lt;/a&gt;&lt;a href="http://code.google.com/p/iui/" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://code.google.com/p/iui/" target="_blank"&gt;IUI&lt;/a&gt; 包含一套 JavaScript 库，CSS 式样表及图片，是一个轻量级 iPhone UI 库，包含 iPhone 风格导航菜单，设备方向，iPhone 风格切换等功能，可以为你的 Web 程序带来 iPhone 般的体验。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://code.google.com/p/iui/" target="_blank"&gt;&lt;strong&gt;iUI&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;XUI&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://xuijs.com/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_29.jpg" /&gt;&lt;/a&gt;&lt;a href="http://xuijs.com/" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://xuijs.com/" target="_blank"&gt;XUI&lt;/a&gt; 是一个用于移动 Web 应用的轻量，极简，高度模块化的框架。它之所以非常轻量的原因是，它只支持移动浏览器，所有跨浏览器支持的代码都被剥离。它面向一线移动 Web 浏览器，如 Webkit，Fennec 以及 Opera，并有意将来对移动 IE 和黑莓提供支持。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://xuijs.com/" target="_blank"&gt;&lt;strong&gt;XUI&lt;/strong&gt; 首页，下载&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;h2 &gt;Yahoo! YUI Library&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://developer.yahoo.com/yui/" target="_blank"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="" src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/05/webui_30.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://developer.yahoo.com/yui/" target="_blank"&gt;Yahoo! YUI Library&lt;/a&gt; 可谓所有 Web UI 之父，可靠，功能丰富，目前已经发展到第 3 版。它拥有一个很庞大的开发团队，推出了非常丰富的功能，就功能而言，无可匹敌。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://developer.yahoo.com/yui/" target="_blank"&gt;&lt;strong&gt;YUI Library&lt;/strong&gt; 主页与下载&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yui/2/" target="_blank"&gt;&lt;strong&gt;YUI2 入门&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yui/3/" target="_blank"&gt;&lt;strong&gt;YUI3 入门&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yui/3/" target="_blank"&gt;&lt;strong&gt;YUI3&lt;/strong&gt; 控件，演示与示例&lt;/a&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1739330.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/05/19/1739330.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/05/18/1738086.html</id><title type="text">Windows XP SP3支持多用户远程桌面连接</title><summary type="text">远程桌面连接的确很方便，但是在Windows XP中只支持单一用户的连接，当第二个用户连接时，第一个用户就被迫断开并回到用户登录界面了，这可和多任务的操作系统理念不符啊，或许微软是为了突出Server系统的特点吧！ 不过没关系，网上早就有用2055测试版的termsrv.dll替换的方法，不过对于最新的SP3来说，还有更好的办法： 1. 下载破解的termsrv.dll（下载地址），版本：5.1....</summary><published>2010-05-18T04:01:00Z</published><updated>2010-05-18T04:01:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/18/1738086.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/18/1738086.html"/><content type="html">远程桌面连接的确很方便，但是在Windows XP中只支持单一用户的连接，当第二个用户连接时，第一个用户就被迫断开并回到用户登录界面了，这可和多任务的操作系统理念不符啊，或许微软是为了突出Server系统的特点吧！&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;不过没关系，网上早就有用2055测试版的termsrv.dll替换的方法，不过对于最新的SP3来说，还有更好的办法：&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;1. 下载破解的termsrv.dll（&lt;a href="http://www.paozhuan.cn/wp-content/uploads/2008/07/termsrv.rar" target="_blank"&gt;下载地址&lt;/a&gt;），版本：5.1.2600.5512，语言：中文(中国)。；&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;2. 复制到C:\Windows\system32文件夹覆盖同名文件（如果开着SFC还要覆盖dllcache和servicepackfiles\i386里的同名文件）；&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;3. 运行RAR压缩包里的MultipleTS.bat文件；&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;4. 运行Gpedit.msc打开组策略，找到终端服务=&amp;gt;限制连接数量改到2以上；&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;5. 确保启用快速用户切换和允许用户远程连接到此计算机；&lt;span &gt; &lt;/span&gt;&lt;br style="line-height: normal" /&gt;6. 重新启动计算机即可。&lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1738086.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/05/18/1738086.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/05/14/1735209.html</id><title type="text">WEB,web服务调用DCOM打印EXCEL注册权限分配</title><summary type="text">1、在开始－》运行中打入dcomcnfg.exe，启动组件服务。 2、在组件服务中，选择控制台根目录－》组件服务－》计算机－》我的电脑－》DCOM配置－》Microsoft Excel应用程序，右击属性，打开属性窗口。 3、在安全页签中，对配置启动和激活权限进行自定义，加入Everyone 的完全权限。 4，改为交互式方式，以上设置完成后，会发现打印生效了。</summary><published>2010-05-14T02:22:00Z</published><updated>2010-05-14T02:22:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/14/1735209.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/05/14/1735209.html"/><content type="html">&lt;p&gt;1、在开始－》运行中打入dcomcnfg.exe，启动组件服务。 &lt;/p&gt;&#xD;
&lt;p&gt;2、在组件服务中，选择控制台根目录－》组件服务－》计算机－》我的电脑－》DCOM配置－》Microsoft Excel应用程序，右击属性，打开属性窗口。 &lt;/p&gt;&#xD;
&lt;p&gt;3、在安全页签中，对配置启动和激活权限进行自定义，加入Everyone 的完全权限。 &lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4，改为交互式方式，&lt;/p&gt;&#xD;
&lt;p&gt;以上设置完成后，会发现打印生效了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1735209.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/05/14/1735209.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2010/04/29/1724188.html</id><title type="text">WINCE 6.0 R3开发体验1-silverlight示例程序XAMLPERF的运行</title><summary type="text">转载http://blog.csdn.net/yearafteryear/archive/2010/04/19/5503749.aspx在安装好WinCE 6.0 R3开发环境后我们就可以通过下列步骤向定制的系统添加微软的silverlight示例程序：XAMLPERF。 关于XAMLPERF的介绍大家可以参考微软MSDN的说明http://msdn.microsoft.com/en-us/lib...</summary><published>2010-04-29T09:50:00Z</published><updated>2010-04-29T09:50:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2010/04/29/1724188.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2010/04/29/1724188.html"/><content type="html">&lt;p&gt;转载&lt;a href="http://blog.csdn.net/yearafteryear/archive/2010/04/19/5503749.aspx" target="_blank"&gt;http://blog.csdn.net/yearafteryear/archive/2010/04/19/5503749.aspx&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在安装好WinCE 6.0 R3开发环境后我们就可以通过下列步骤向定制的系统添加微软的silverlight示例程序：XAMLPERF。&lt;/p&gt;&#xD;
&lt;p&gt;关于XAMLPERF的介绍大家可以参考微软MSDN的说明&lt;a href="http://msdn.microsoft.com/en-us/library/ee504084.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ee504084.aspx&lt;/a&gt;。其中XAMLPERF的代码部分在F:\WINCE600\PUBLIC\COMMON\OAK\DEMOS\XAMLPERF目录下，XAML等文件在&lt;/p&gt;&#xD;
&lt;p&gt;F:\WINCE600\PUBLIC\COMMON\OAK\FILES\XAMLPERF目录下。&lt;/p&gt;&#xD;
&lt;p&gt;下面介绍在定制的系统中添加XAMLPER Fsilverlight示例程序的步骤:&lt;/p&gt;&#xD;
&lt;p&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 给定制的系统添加图片解码组件：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 给定制的系统添加silverlight组件&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 给定制的工程添加环境变量SYSGEN_SAMPLEXAMLPERF=1&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4.sysgen系统之后就能发现在系统的生成文件中有XAMLPERF.exe&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;5.烧写新生成的系统重新启动系统就会发现系统桌面多了三个快捷图标：BOUNCE、BUBBLES、CAROUSEL。双击即可运行，运行后单击退出。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;本文来自CSDN博客，转载请标明出处：&lt;a href="http://blog.csdn.net/yearafteryear/archive/2010/04/19/5503749.aspx" target="_blank"&gt;http://blog.csdn.net/yearafteryear/archive/2010/04/19/5503749.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/vainnetwork/aggbug/1724188.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/vainnetwork/archive/2010/04/29/1724188.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2009/11/27/1612051.html</id><title type="text">Pocket PC 2003 SE设备仿真器网络设置</title><summary type="text">1、下载虚拟网卡驱动程序2、在PC上安装虚拟网卡驱动3、在VisualStudio2005中配置仿真器启动参数4、配置PocketPC2003SE设备仿真器网卡参数5、配置PocketPC2003SE设备仿真器虚拟网卡绑定6、要求配置完后软启动一次仿真器，之后测试仿真器网络配置是否成功。第一步，要求下载虚拟网卡驱动程序。微软官方下载地址：http://www.microsoft.com/downl...</summary><published>2009-11-27T07:07:00Z</published><updated>2009-11-27T07:07:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2009/11/27/1612051.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2009/11/27/1612051.html"/></entry><entry><id>http://www.cnblogs.com/vainnetwork/archive/2009/11/26/1611103.html</id><title type="text">SQL Server 2008不能修改表的解决方法</title><summary type="text">新装的SQL SERVER 2008，打开原来SQL SERVER 2008中建立的表，现在想增加一些字段，在保存时提示错误，无法保存。 刚开始以为是SQL SERVER 2008与2005的不兼容，后来发现在SQL SERVER 2008中新建的表也存在无法修改表结构，也就是无法修改字段名和增加字段名。 提示是：不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改...</summary><published>2009-11-26T02:26:00Z</published><updated>2009-11-26T02:26:00Z</updated><author><name>每天积累一点</name><uri>http://www.cnblogs.com/vainnetwork/</uri></author><link rel="alternate" href="http://www.cnblogs.com/vainnetwork/archive/2009/11/26/1611103.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/vainnetwork/archive/2009/11/26/1611103.html"/></entry></feed>
