﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-wdx2008</title><link>http://www.cnblogs.com/wdx2008/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Oct 2008 13:36:17 GMT</lastBuildDate><pubDate>Mon, 13 Oct 2008 13:36:17 GMT</pubDate><ttl>60</ttl><item><title>sql语句字符串处理大全</title><link>http://www.cnblogs.com/wdx2008/archive/2008/03/07/1095882.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Fri, 07 Mar 2008 14:21:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2008/03/07/1095882.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1095882.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2008/03/07/1095882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1095882.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1095882.html</trackback:ping><description><![CDATA[<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">select语句中只能使用sql函数对字段进行操作（链接sql server），<br />
            select 字段1 from 表1 where 字段1.IndexOf("云")=1;<br />
            这条语句不对的原因是indexof（）函数不是sql函数，改成sql对应的函数就可以了。<br />
            left（）是sql函数。<br />
            select 字段1 from 表1 where charindex（'云',字段1）=1;
            <div class="postbody">
            <p>字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。<br />
            常用的字符串函数有：<br />
            <br />
            <strong>一、字符转换函数</strong><br />
            1、ASCII()<br />
            返回字符表达式最左端字符的ASCII 码值。在ASCII（）函数中，纯数字的字符串可不用&#8216;&#8217;括起来，但含其它字符的字符串必须用&#8216;&#8217;括起来使用，否则会出错。<br />
            2、CHAR()<br />
            将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值，CHAR（） 返回NULL 。<br />
            3、LOWER()和UPPER()<br />
            LOWER()将字符串全部转为小写；UPPER()将字符串全部转为大写。<br />
            4、STR()<br />
            把数值型数据转换为字符型数据。<br />
            STR (&lt;float_expression&gt;[，length[， &lt;decimal&gt;]])<br />
            length 指定返回的字符串的长度，decimal 指定返回的小数位数。如果没有指定长度，缺省的length 值为10， decimal 缺省值为0。<br />
            当length 或者decimal 为负值时，返回NULL；<br />
            当length 小于小数点左边（包括符号位）的位数时，返回length 个*；<br />
            先服从length ，再取decimal ；<br />
            当返回的字符串位数小于length ，左边补足空格。<br />
            <strong>二、去空格函数</strong><br />
            1、LTRIM() 把字符串头部的空格去掉。<br />
            <br />
            2、RTRIM() 把字符串尾部的空格去掉。<br />
            <br />
            <strong>三、取子串函数</strong><br />
            1、left() <br />
            LEFT (&lt;character_expression&gt;， &lt;integer_expression&gt;)<br />
            返回character_expression 左起 integer_expression 个字符。<br />
            <br />
            2、RIGHT() <br />
            RIGHT (&lt;character_expression&gt;， &lt;integer_expression&gt;)<br />
            返回character_expression 右起 integer_expression 个字符。<br />
            <br />
            3、SUBSTRING()<br />
            SUBSTRING (&lt;expression&gt;， &lt;starting_ position&gt;， length)<br />
            返回从字符串左边第starting_ position 个字符起length个字符的部分。<br />
            <br />
            <strong>四、字符串比较函数</strong><br />
            1、CHARINDEX()<br />
            返回字符串中某个指定的子串出现的开始位置。<br />
            CHARINDEX (&lt;&#8217;substring_expression&#8217;&gt;， &lt;expression&gt;)<br />
            其中substring _expression 是所要查找的字符表达式，expression 可为字符串也可为列名表达式。如果没有发现子串，则返回0 值。<br />
            此函数不能用于TEXT 和IMAGE 数据类型。<br />
            2、PATINDEX()<br />
            返回字符串中某个指定的子串出现的开始位置。<br />
            PATINDEX (&lt;&#8217;%substring _expression%&#8217;&gt;， &lt;column_ name&gt;)其中子串表达式前后必须有百分号&#8220;%&#8221;否则返回值为0。<br />
            与CHARINDEX 函数不同的是，PATINDEX函数的子串中可以使用通配符，且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。<br />
            <br />
            <strong>五、字符串操作函数</strong><br />
            1、QUOTENAME()<br />
            返回被特定字符括起来的字符串。<br />
            QUOTENAME (&lt;&#8217;character_expression&#8217;&gt;[， quote_ character]) 其中quote_ character 标明括字符串所用的字符，缺省值为&#8220;[]&#8221;。<br />
            2、REPLICATE()<br />
            返回一个重复character_expression 指定次数的字符串。<br />
            REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值，则返回NULL 。<br />
            <br />
            3、REVERSE()<br />
            将指定的字符串的字符排列顺序颠倒。<br />
            REVERSE (&lt;character_expression&gt;) 其中character_expression 可以是字符串、常数或一个列的值。<br />
            <br />
            4、REPLACE()<br />
            返回被替换了指定子串的字符串。<br />
            REPLACE (&lt;string_expression1&gt;， &lt;string_expression2&gt;， &lt;string_expression3&gt;) 用string_expression3 替换在string_expression1 中的子串string_expression2。<br />
            <br />
            4、SPACE()<br />
            返回一个有指定长度的空白字符串。<br />
            SPACE (&lt;integer_expression&gt;) 如果integer_expression 值为负值，则返回NULL 。<br />
            <br />
            5、STUFF()<br />
            用另一子串替换字符串指定位置、长度的子串。<br />
            STUFF (&lt;character_expression1&gt;， &lt;start_ position&gt;， &lt;length&gt;，&lt;character_expression2&gt;)<br />
            如果起始位置为负或长度值为负，或者起始位置大于character_expression1 的长度，则返回NULL 值。<br />
            如果length 长度大于character_expression1 中 start_ position 以右的长度，则character_expression1 只保留首字符。<br />
            <strong>六、数据类型转换函数</strong><br />
            1、CAST()<br />
            CAST (&lt;expression&gt; AS &lt;data_ type&gt;[ length ])<br />
            <br />
            2、CONVERT()<br />
            CONVERT (&lt;data_ type&gt;[ length ]， &lt;expression&gt; [， style])<br />
            <br />
            1）data_type为SQL Server系统定义的数据类型，用户自定义的数据类型不能在此使用。<br />
            2）length用于指定数据的长度，缺省值为30。<br />
            3）把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。<br />
            4）TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符，即CHAR或VARCHAR数据类型是最大长度。<br />
            5）IMAGE类型存储的数据转换到BINARY或VARBINARY类型，最多为8000个字符。<br />
            6）把整数值转换为MONEY或SMALLMONEY类型，按定义的国家的货币单位来处理，如人民币、美元、英镑等。<br />
            7）BIT类型的转换把非零值转换为1，并仍以BIT类型存储。<br />
            8）试图转换到不同长度的数据类型，会截短转换值并在转换值后显示&#8220;+&#8221;，以标识发生了这种截断。<br />
            9）用CONVERT（）函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号，不同的样式编号有不同的输出格式。<br />
            <strong>七、日期函数</strong><br />
            1、day(date_expression) <br />
            返回date_expression中的日期值<br />
            <br />
            2、month(date_expression)<br />
            返回date_expression中的月份值<br />
            <br />
            3、year(date_expression)<br />
            返回date_expression中的年份值<br />
            <br />
            4、DATEADD()<br />
            DATEADD (&lt;datepart&gt;， &lt;number&gt;， &lt;date&gt;)<br />
            返回指定日期date 加上指定的额外日期间隔number 产生的新日期。<br />
            5、DATEDIFF()<br />
            DATEDIFF (&lt;datepart&gt;， &lt;date1&gt;， &lt;date2&gt;)<br />
            返回两个指定日期在datepart 方面的不同之处，即date2 超过date1的差距值，其结果值是一个带有正负号的整数值。<br />
            <br />
            6、DATENAME()<br />
            DATENAME (&lt;datepart&gt;， &lt;date&gt;)<br />
            以字符串的形式返回日期的指定部分此部分。由datepart 来指定。<br />
            <br />
            7、DATEPART()<br />
            DATEPART (&lt;datepart&gt;， &lt;date&gt;)<br />
            以整数值的形式返回日期的指定部分。此部分由datepart 来指定。<br />
            DATEPART (dd， date) 等同于DAY (date)<br />
            DATEPART (mm， date) 等同于MONTH (date)<br />
            DATEPART (yy， date) 等同于YEAR (date)<br />
            <br />
            8、GETDATE()<br />
            以DATETIME 的缺省格式返回系统当前的日期和时间。</p>
            </div>
            <br />
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1095882.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42969/" target="_blank">[新闻]MySpace推自助广告平台MyAds</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>收集的ASP.NET中常用正则表达式</title><link>http://www.cnblogs.com/wdx2008/archive/2008/02/26/1081453.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Mon, 25 Feb 2008 17:24:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2008/02/26/1081453.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1081453.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2008/02/26/1081453.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1081453.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1081453.html</trackback:ping><description><![CDATA[<p><font face="Verdana">"^\d+$"　　//非负整数（正整数 + 0）&nbsp; <br />
"^[0-9]*[1-9][0-9]*$"　　//正整数&nbsp; <br />
"^((-\d+)|(0+))$"　　//非正整数（负整数 + 0）&nbsp; <br />
"^-[0-9]*[1-9][0-9]*$"　　//负整数&nbsp; <br />
"^-?\d+$"　　　　//整数&nbsp; <br />
"^\d+(\.\d+)?$"　　//非负浮点数（正浮点数 + 0）&nbsp; <br />
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"　　//正浮点数&nbsp; <br />
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"　　//非正浮点数（负浮点数 + 0）&nbsp; <br />
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"　　//负浮点 <br />
数&nbsp; <br />
"^(-?\d+)(\.\d+)?$"　　//浮点数&nbsp; <br />
"^[A-Za-z]+$"　　//由26个英文字母组成的字符串&nbsp; <br />
"^[A-Z]+$"　　//由26个英文字母的大写组成的字符串&nbsp; <br />
"^[a-z]+$"　　//由26个英文字母的小写组成的字符串&nbsp; <br />
"^[A-Za-z0-9]+$"　　//由数字和26个英文字母组成的字符串&nbsp; <br />
"^\w+$"　　//由数字、26个英文字母或者下划线组成的字符串&nbsp; <br />
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"　　　　//email地址&nbsp; <br />
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"　　//url&nbsp; <br />
/^13\d{9}$/gi手机号正则表达式 <br />
public static bool IsValidMobileNo(string MobileNo) <br />
&nbsp; { <br />
&nbsp;&nbsp; const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)\d{8}$"; <br />
&nbsp;&nbsp; return Regex.IsMatch(MobileNo, regPattern); <br />
&nbsp; } <br />
正则表达式--验证手机号码:13[0-9]{9} <br />
实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$ <br />
电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})&nbsp; <br />
提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F)&nbsp; *=&nbsp; *('|")?(\w|\\|\/|\.)+('|"|&nbsp; *|&gt;)?&nbsp;&nbsp; <br />
提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&nbsp;&nbsp; <br />
提取信息中的图片链接:(s|S)(r|R)(c|C)&nbsp; *=&nbsp; *('|")?(\w|\\|\/|\.)+('|"|&nbsp; *|&gt;)? <br />
提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的中国手机号码:(86)*0*13\d{9}&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的中国电话号码（包括移动和固定电话）:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的中国邮政编码:[1-9]{1}(\d+){5}&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的中国身份证号码:\d{18}|\d{15}&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的整数：\d+&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的浮点数（即小数）：(-?\d*)\.?\d+&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的任何数字&nbsp; ：(-?\d*)(\.\d+)?&nbsp;&nbsp; <br />
提取信息中的中文字符串：[\u4e00-\u9fa5]*&nbsp;&nbsp;&nbsp;&nbsp; <br />
提取信息中的双字节字符串&nbsp; (汉字)：[^\x00-\xff]* </font></p>
<p><font face="Verdana">本文来自: 天空618(www.sky618.com) 详细出处参考：http://www.sky618.com/html/200703/6/8858.htm</font></p>
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1081453.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42960/" target="_blank">[新闻]Facebook创始人:信息共享或存摩尔定律</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>web.config详解</title><link>http://www.cnblogs.com/wdx2008/archive/2008/02/10/1066761.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Sun, 10 Feb 2008 15:10:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2008/02/10/1066761.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1066761.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2008/02/10/1066761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1066761.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1066761.html</trackback:ping><description><![CDATA[<div class="cnt">一、认识Web.config文件<br />
Web.config 文件是一个XML文本文件，它用来储存 ASP.NET Web 应用程序的配置信息（如最常用的设置ASP.NET Web 应用程序的身份验证方式），它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后，默认情况下会在根目录自动创建一个默认的Web.config文件，包括默认的配置设置，所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置，你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息，也可以重写或修改父目录中定义的设置。<br />
(一).Web.Config是以XML文件规范存储,配置文件分为以下格式<br />
1.配置节处理程序声明<br />
特点：位于配置文件的顶部，包含在&lt;configSections&gt;标志中。<br />
2.特定应用程序配置<br />
特点: 位于&lt;appSetting&gt;中。可以定义应用程序的全局常量设置等信息.<br />
3.配置节设置<br />
特点: 位于&lt;system.Web&gt;节中，控制Asp.net运行时的行为.<br />
4.配置节组<br />
特点: 用&lt;sectionGroup&gt;标记，可以自定义分组，可以放到&lt;configSections&gt;内部或其它&lt;sectionGroup&gt;标记的内部.<br />
(二).配置节的每一节<br />
1.&lt;configuration&gt;节根元素，其它节都是在它的内部.<br />
2.&lt;appSetting&gt;节此节用于定义应用程序设置项。对一些不确定设置，还可以让用户根据自己实际情况自己设置<br />
用法:<br />
I.&lt;appSettings&gt;<br />
&lt;add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/&gt;<br />
&lt;appSettings&gt;<br />
定义了一个连接字符串常量，并且在实际应用时可以修改连接字符串，不用修改程式代码.<br />
II.&lt;appSettings&gt;<br />
&lt;add key="ErrPage" value="Error.aspx"/&gt;&lt;appSettings&gt; 定义了一个错误重定向页面.<br />
3.&lt;compilation&gt;节<br />
格式:<br />
&lt;compilation <br />
defaultLanguage="c#"<br />
debug="true"<br />
/&gt;<br />
I.default language: 定义后台代码语言,可以选择C#和VB.net两种语言.<br />
IIdebug : 为true时，启动aspx调试；为false不启动aspx调试，因而可以提高应用程序运行时的性能。一般程序员在开发时设置为true,交给客户时设置为false.<br />
4.&lt;customErrors&gt;节<br />
格式:<br />
&lt;customErrors <br />
mode="RemoteOnly" <br />
defaultRedirect="error.aspx"<br />
&lt;error statusCode="440" redirect="err440page.aspx"/&gt;<br />
&lt;error statusCode="500" redirect="err500Page.aspx"/&gt;<br />
/&gt; <br />
I.mode : 具有On,Off,RemoteOnly 3种状态。On表示始终显示自定义的信息; Off表示始终显示详细的asp.net错误信息; RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.<br />
II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的<br />
III.statusCode: 指明错误状态码，表明一种特定的出错状态.<br />
IV. redirect:错误重定向的URL.<br />
5.&lt;globalization&gt;节<br />
格式:<br />
&lt;globalization <br />
requestEncoding="utf-8" <br />
resp <br />
fileEncoding="utf-8"<br />
/&gt; <br />
I.requestEncoding: 它用来检查每一个发来请求的编码. <br />
II.responseEncoding: 用于检查发回的响应内容编码.<br />
III.fileEncoding: 用于检查aspx,asax等文件解析的默认编码. <br />
6.&lt;sessionState&gt;节<br />
格式:<br />
&lt;sessionState <br />
mode="InProc"<br />
stateC<br />
sqlC<br />
cookieless="false" <br />
timeout="20" <br />
/&gt;<br />
I.mode: 分为off,Inproc,StateServer,SqlServer几种状态<br />
mode = InProc 存储在进程中特点：具有最佳的性能，速度最快,但不能跨多台服务器存储共享.mode = "StateServer" 存储在状态服务器中特点:&nbsp;&nbsp; 当需要跨服务器维护用户会话信息时，使用此方法。但是信息存储在状态服务器上，一旦状态服务器出现故障，信息将丢失. mode="SqlServer" 存储在Sql Server中特点:工作负载会变大，但信息不会丢失.<br />
II. stateConnectionString :指定Asp.net应用程序存储远程会话状态的服务器名，默认为本机<br />
III.sqlConnectionString:当用会话状态数据库时，在这里设置连接字符串<br />
IV. Cookieless:设置为true时，表示不使用cookie会话状态来标识客户；否则，相反.<br />
V. TimeOut:用来定义会话状态存储的时间，超过期限，将自动终止会话.<br />
7.&lt;authentication&gt;节<br />
格式:<br />
&lt;authentication mode="Forms"&gt; <br />
&lt;forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/&gt;<br />
&lt;/authentication&gt;<br />
&lt;authorization&gt;<br />
&lt;deny users="?"/&gt;<br />
&lt;/authorization&gt;<br />
I.Windows: 使用IIS验证方式<br />
II.Forms: 使用基于窗体的验证方式<br />
III.Passport: 采用Passport cookie验证模式<br />
IV.None: 不采用任何验证方式<br />
里面内嵌Forms节点的属性涵义:<br />
I.Name: 指定完成身份验证的Http cookie的名称.<br />
II.LoginUrl: 如果未通过验证或超时后重定向的页面URL，一般为登录页面，让用户重新登录<br />
III.Protection: 指定 cookie数据的保护方式.<br />
可设置为: All None Encryption Validation四种保护方式<br />
a. All表示加密数据，并进行有效性验证两种方式<br />
b. None表示不保护Cookie.<br />
c. Encryption表示对Cookie内容进行加密<br />
d. validation表示对Cookie内容进行有效性验证<br />
IV. TimeOut: 指定Cookie的失效时间. 超时后要重新登录.<br />
在运行时对Web.config文件的修改不需要重启服务就可以生效（注：&lt;processModel&gt; 节例外）。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。<br />
web.config配置文件（默认的配置设置）以下所有的代码都应该位于<br />
&lt;configuration&gt;<br />
&lt;system.web&gt;<br />
和<br />
&lt;/system.web&gt;<br />
&lt;/configuration&gt;<br />
之间，出于学习的目的下面的示例都省略了这段XML标记。<br />
<strong><wbr></wbr>1</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;authentication&gt; </strong><wbr></wbr><strong><wbr></wbr>节</strong><wbr></wbr><br />
作用：配置 ASP.NET 身份验证支持（为Windows、Forms、PassPort、None四种）。该元素只能在计算机、站点或应用程序级别声明。&lt; authentication&gt; 元素必需与&lt;authorization&gt; 节配合使用。<br />
示例：<br />
以下示例为基于窗体（Forms）的身份验证配置站点，当没有登陆的用户访问需要身份验证的网页，网页自动跳转到登陆网页。<br />
&lt;authentication mode="Forms" &gt;<br />
&lt;forms loginUrl="logon.aspx" name=".FormsAuthCookie"/&gt;<br />
&lt;/authentication&gt;<br />
其中元素loginUrl表示登陆网页的名称，name表示Cookie名称。<br />
<strong><wbr></wbr>2</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;authorization&gt; </strong><wbr></wbr><strong><wbr></wbr>节</strong><wbr></wbr><br />
作用：控制对 URL 资源的客户端访问（如允许匿名用户访问）。此元素可以在任何级别（计算机、站点、应用程序、子目录或页）上声明。必需与&lt;authentication&gt; 节配合使用。<br />
示例：以下示例禁止匿名用户的访问<br />
&lt;authorization&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;deny users="?"/&gt;<br />
&lt;/authorization&gt;<br />
注：你可以使用user.identity.name来获取已经过验证的当前的用户名；可以使用web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.具体的<br />
<strong><wbr></wbr>3</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;compilation&gt;</strong><wbr></wbr><strong><wbr></wbr>节</strong><wbr></wbr><br />
作用：配置 ASP.NET 使用的所有编译设置。默认的debug属性为&#8220;True&#8221;.在程序编译完成交付使用之后应将其设为False（Web.config文件中有详细说明，此处省略示例）<br />
<strong><wbr></wbr>4</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;customErrors&gt; </strong><wbr></wbr><br />
作用：为 ASP.NET 应用程序提供有关自定义错误信息的信息。它不适用于 XML Web services 中发生的错误。<br />
示例：当发生错误时，将网页跳转到自定义的错误页面。<br />
&lt;customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"&gt;<br />
&lt;/customErrors&gt;<br />
其中元素defaultRedirect表示自定义的错误网页的名称。mode元素表示：对不在本地 Web 服务器上运行的用户显示自定义(友好的)信息。<br />
<strong><wbr></wbr>5</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;httpRuntime&gt;</strong><wbr></wbr><strong><wbr></wbr>节</strong><wbr></wbr><br />
作用：配置 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。<br />
示例：控制用户上传文件最大为4M，最长时间为60秒，最多请求数为100<br />
&lt;httpRuntime maxRequestLength="4096" executi appRequestQueueLimit="100"/&gt;<br />
<strong><wbr></wbr>6</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr> &lt;pages&gt; </strong><wbr></wbr><br />
作用：标识特定于页的配置设置（如是否启用会话状态、视图状态，是否检测用户的输入等）。&lt;pages&gt;可以在计算机、站点、应用程序和子目录级别声明。<br />
示例：不检测用户在浏览器输入的内容中是否存在潜在的危险数据（注：该项默认是检测，如果你使用了不检测，一要对用户的输入进行编码或验证)，在从客户端回发页时将检查加密的视图状态，以验证视图状态是否已在客户端被篡改。(注：该项默认是不验证）<br />
&lt;pages buffer="true" enableViewStateMac="true" validateRequest="false"/&gt;<br />
<strong><wbr></wbr>7</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;sessionState&gt; </strong><wbr></wbr><br />
作用：为当前应用程序配置会话状态设置（如设置是否启用会话状态，会话状态保存位置）。<br />
示例：<br />
&lt;sessionState mode="InProc" cookieless="true" timeout="20"/&gt;<br />
&lt;/sessionState&gt;<br />
注：<br />
mode="InProc"表示：在本地储存会话状态（你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态）<br />
cookieless="true"表示：如果用户浏览器不支持Cookie时启用会话状态(默认为False）<br />
timeout="20"表示：会话可以处于空闲状态的分钟数<br />
<strong><wbr></wbr>8</strong><wbr></wbr><strong><wbr></wbr>、</strong><wbr></wbr><strong><wbr></wbr>&lt;trace&gt; </strong><wbr></wbr><br />
作用：配置 ASP.NET 跟踪服务，主要用来程序测试判断哪里出错。<br />
示例：以下为Web.config中的默认配置：<br />
&lt;trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" local /&gt;<br />
注：<br />
enabled="false"表示不启用跟踪；<br />
requestLimit="10"表示指定在服务器上存储的跟踪请求的数目<br />
pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出；<br />
traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息<br />
local 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器<br />
自定义Web.config文件配置<br />
自定义Web.config文件配置节过程分为两步。<br />
1.在配置文件顶部 &lt;configSections&gt; 和 &lt;/configSections&gt;标记之间声明配置节的名称和处理该节中配置数据的 .NET Framework 类的名称。<br />
2.是在 &lt;configSections&gt; 区域之后为声明的节做实际的配置设置。<br />
示例：创建一个节存储数据库连接字符串<br />
&lt;configuration&gt;<br />
　 &lt;configSections&gt;<br />
　 &lt;section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/&gt;<br />
&lt;/configSections&gt;<br />
　 &lt;appSettings&gt;<br />
　　 &lt;add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/&gt;<br />
　 &lt;/appSettings&gt;<br />
　 &lt;system.web&gt;<br />
　　 ......<br />
　 &lt;/system.web&gt;<br />
&lt;/configuration&gt;<br />
访问Web.config文件你可以通过使用ConfigurationSettings.AppSettings 静态字符串集合来访问 Web.config 文件示例：获取上面例子中建立的连接字符串。例如：<br />
protected static string Isdebug = ConfigurationSettings.AppSettings["debug"]<br />
<strong><wbr></wbr>二、</strong><wbr></wbr><strong><wbr></wbr>web.config</strong><wbr></wbr><strong><wbr></wbr>中的</strong><wbr></wbr><strong><wbr></wbr>session</strong><wbr></wbr><strong><wbr></wbr>配置详解</strong><wbr></wbr><br />
打开某个应用程序的配置文件Web.config后，我们会发现以下这段：<br />
&lt; sessionState<br />
　　mode="InProc"<br />
　　stateC<br />
　　sqlC<br />
　　cookieless="false"<br />
　　timeout="20" <br />
/&gt; <br />
　　这一段就是配置应用程序是如何存储Session信息的了。我们以下的各种操作主要是针对这一段配置展开。让我们先看看这一段配置中所包含的内容的意思。sessionState节点的语法是这样的：<br />
&lt; sessionState mode="Off|InProc|StateServer|SQLServer"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookieless="true|false"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeout="number of minutes"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stateC<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlC<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stateNetworkTimeout="number of seconds"<br />
/&gt;<br />
必须有的属性是：属性选项描述<br />
mode 设置将Session信息存储到哪里<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Off 设置为不使用Session功能，<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InProc 设置为将Session存储在进程内，就是ASP中的存储方式，这是默认值，<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StateServer 设置为将Session存储在独立的状态服务中，<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SQLServer 设置将Session存储在SQL Server中。<br />
可选的属性是：属性选项描述<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookieless 设置客户端的Session信息存储到哪里，<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ture 使用Cookieless模式，<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; false 使用Cookie模式，这是默认值，<br />
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timeout 设置经过多少分钟后服务器自动放弃Session信息，默认为20分钟。<br />
stateConnectionString 设置将Session信息存储在状态服务中时使用的服务器名称和端口号，例如："tcpip=127.0.0.1:42424&#8221;。当mode的值是StateServer是，这个属性是必需的。<br />
sqlConnectionString 设置与SQL Server连接时的连接字符串。例如"data source= localhost;Integrated Security=SSPI;Initial Catalog=northwind"。当mode的值是 SQLServer时，这个属性是必需的。<br />
stateNetworkTimeout 设置当使用StateServer模式存储Session状态时，经过多少秒空闲后，断开Web服务器与存储状态信息的服务器的TCP/IP连接的。默认值是10秒钟。<br />
ASP.NET中客户端Session状态的存储<br />
　　在我们上面的Session模型简介中，大家可以发现Session状态应该存储在两个地方，分别是客户端和服务器端。客户端只负责保存相应网站的SessionID，而其他的Session信息则保存在服务器端。在ASP中，客户端的SessionID实际是以Cookie的形式存储的。如果用户在浏览器的设置中选择了禁用Cookie，那末他也就无法享受Session的便利之处了，甚至造成不能访问某些网站。为了解决以上问题，在 ASP.NET中客户端的Session信息存储方式分为：Cookie和Cookieless两种。<br />
　　ASP.NET中，默认状态下，在客户端还是使用Cookie存储Session信息的。如果我们想在客户端使用Cookieless的方式存储Session信息的方法如下：<br />
　　找到当前Web应用程序的根目录，打开Web.Config文件，找到如下段落：<br />
&lt; sessionState<br />
　　mode="InProc"<br />
　　stateC<br />
　　sqlC<br />
　　cookieless="false"<br />
　　timeout="20" <br />
/&gt;<br />
　　这段话中的cookieless="false"改为：cookieless="true"，这样，客户端的Session信息就不再使用 Cookie存储了，而是将其通过URL存储。关闭当前的IE，打开一个新IE，重新访问刚才的Web应用程序，就会看到类似下面的样子：<br />
其中，http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245) /default.aspx中黑体标出的就是客户端的Session ID。注意，这段信息是由IIS自动加上的，不会影响以前正常的连接。<br />
ASP.NET中服务器端Session状态的存储准备工作：<br />
　　为了您能更好的体验到实验现象，您可以建立一个叫做SessionState.aspx的页面，然后把以下这些代码添加到&lt; body&gt;&lt; /body&gt;中。<br />
&lt; scriptrunat="server"&gt;<br />
Sub Session_Add(sender As Object, e As EventArgs)<br />
　 Session("MySession") = text1.Value<br />
　 span1.InnerHtml = "Session data updated! &lt; P&gt;Your session contains: &lt; font color=red&gt;" &amp; Session("MySession"). ToString() &amp; "&lt; /font&gt;"<br />
End Sub<br />
Sub CheckSession(sender As Object, eAs EventArgs)<br />
　 If (Session("MySession")Is Nothing) Then<br />
　　　 span1.InnerHtml = "NOTHING, SESSION DATA LOST!"<br />
　 Else<br />
　　　 span1.InnerHtml = "Your session contains: &lt; font color= red&gt;" &amp; Session("MySession").ToString() &amp; "&lt;&nbsp;&nbsp;&nbsp;&nbsp; /font&gt;"<br />
End If<br />
End Sub<br />
&lt; /script&gt;<br />
&lt; formrunat="server"id="Form2"&gt;<br />
　 &lt; inputid="text1"type="text"runat="server"name="text1"&gt;<br />
　 &lt; inputtype="submit"runat="server"<br />
　　　　　 value="Add to Session State " id="Submit1"name="Submit1"&gt;<br />
　 &lt; inputtype="submit"runat="server"<br />
　　　　　 value=" View Session State " id="Submit2"name="Submit2"&gt;<br />
&lt; /form&gt;<br />
&lt; hrsize="1"&gt;<br />
&lt; f&gt;&lt; spanid="span1"runat="server" /&gt;&lt; /font&gt; <br />
　　这个SessionState.aspx的页面可以用来测试在当前的服务器上是否丢失了Session信息。<br />
将服务器Session信息存储在进程中<br />
　　让我们来回到Web.config文件的刚才那段段落中：<br />
&lt; sessionState<br />
　　mode="InProc"<br />
　　stateC<br />
　　sqlC<br />
　　cookieless="false"<br />
　　timeout="20" <br />
/&gt;<br />
　　<strong><wbr></wbr>当</strong><wbr></wbr><strong><wbr></wbr>mode</strong><wbr></wbr><strong><wbr></wbr>的值是</strong><wbr></wbr><strong><wbr></wbr>InProc</strong><wbr></wbr><strong><wbr></wbr>时，</strong><wbr></wbr>说明服务器正在使用这种模式。<br />
　　这种方式和以前ASP中的模式一样，就是服务器将Session信息存储在IIS进程中。当IIS关闭、重起后，这些信息都会丢失。但是这种模式也有自己最大好处，就是性能最高。应为所有的Session信息都存储在了IIS的进程中，所以IIS能够很快的访问到这些信息，这种模式的性能比进程外存储Session信息或是在SQL Server中存储Session信息都要快上很多。这种模式也是ASP.NET的默认方式。<br />
　　好了，现在让我们做个试验。打开刚才的SessionState.aspx页面，随便输入一些字符，使其存储在Session中。然后，让我们让IIS重起。注意，并不是使当前的站点停止再开始，而是在IIS中本机的机器名的节点上点击鼠标右键，选择重新启动IIS。(想当初使用NT4时，重新启动IIS必须要重新启动计算机才行，微软真是@#$%^&amp;)返回到SessionState.aspx页面中，检查刚才的Session信息，发现信息已经丢失了。<br />
<strong><wbr></wbr>将服务器</strong><wbr></wbr><strong><wbr></wbr>Session</strong><wbr></wbr><strong><wbr></wbr>信息存储在进程外</strong><wbr></wbr><br />
　　首先，让我们来打开管理工具-&gt;服务，找到名为：ASP.NET State Service的服务，启动它。实际上，这个服务就是启动一个要保存Session信息的进程。启动这个服务后，你可以从Windows任务管理器-&gt;进程中看到一个名为 aspnet_state.exe的进程，这个就是我们保存Session信息的进程。<br />
　　然后，回到Web.config文件中上述的段落中，将mode的值改为StateServer。保存文件后的重新打开一个IE，打开 SessionState.aspx页面，保存一些信息到Session中。这时，让我们重起IIS，再回到SessionState.aspx页面中查看刚才的Session信息，发现没有丢失。<br />
　　实际上，这种将Session信息存储在进程外的方式不光指可以将信息存储在本机的进程外，还可以将Session信息存储在其他的服务器的进程中。这时，不光需要将mode的值改为StateServer，还需要在stateConnectionString中配置相应的参数。例如你的计算你是192.168.0.1，你想把Session存储在IP为192.168.0.2的计算机的进程中，就需要设置成这样： stateC。当然，不要忘记在192.168.0.2的计算机中装上.NET Framework，并且启动ASP.NET State Services服务。<br />
将服务器Session信息存储在SQL Server中<br />
　　首先，还是让我们来做一些准备工作。启动SQL Server和SQL Server代理服务。在SQL Server中执行一个叫做 InstallSqlState.sql的脚本文件。这个脚本文件将在SQL Server中创建一个用来专门存储Session信息的数据库，及一个维护Session信息数据库的SQL Server代理作业。我们可以在以下路径中找到那个文件：<br />
[system drive]&#92;winnt&#92;Microsoft.NET&#92;Framework&#92;[version]&#92; <br />
　　然后打开查询分析器，连接到SQL Server服务器，打开刚才的那个文件并且执行。稍等片刻，数据库及作业就建立好了。这时，你可以打开企业管理器，看到新增了一个叫ASPState的数据库。但是这个数据库中只是些存储过程，没有用户表。实际上Session信息是存储在了tempdb 数据库的ASPStateTempSessions表中的，另外一个ASPStateTempApplications表存储了ASP中 Application对象信息。这两个表也是刚才的那个脚本建立的。另外查看管理-&gt;SQL Server代理-&gt;作业，发现也多了一个叫做ASPState_Job_DeleteExpiredSessions的作业，这个作业实际上就是每分钟去ASPStateTempSessions 表中删除过期的Session信息的。<br />
　　接着，我们返回到Web.config文件，修改mode的值改为SQLServer。注意，还要同时修改sqlConnectionString的值，格式为：<br />
sqlC<br />
　　其中data source是指SQL Server服务器的IP地址，如果SQL Server与IIS是一台机子，写127.0.0.1 就行了。Integrated Security=SSPI的意思是使用Windows集成身份验证，这样，访问数据库将以ASP.NET的身份进行，通过如此配置，能够获得比使用userid=sa;password=口令的SQL Server验证方式更好的安全性。当然，如果SQL Server运行于另一台计算机上，你可能会需要通过Active Directory域的方式来维护两边验证的一致性。<br />
　　同样，让我们做个试验。向SessionState.aspx中添加Session信息，这时发现Session信息已经存在 SQL Server中了，即使你重起计算机，刚才的Session信息也不会丢失。现在，你已经完全看见了Session信息到底是什么样子的了，而且又是存储在SQL Server中的，能干什么就看你的发挥了。<br />
<br />
总结<br />
三、Asp.net 关于form认证的一般设置<br />
asp.net 关于form认证的一般设置：<br />
1: 在web.config中，加入form认证；<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;authentication mode="Forms"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;forms name="auth" loginUrl="index.aspx" timeout="30"&gt;&lt;/forms&gt;<br />
&lt;/authentication&gt;<br />
&lt;authorization&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;deny users="?" /&gt;<br />
&lt;/authorization&gt;<br />
2: 如果有注册页面时还应该允许匿名用户调用注册页面进行注册;<br />
以下代码应该在&lt;configuration&gt;&lt;system.web&gt;之间,而不应该包含到&lt;system.web&gt;..&lt;/system.web&gt;之间;<br />
----------------表示允许匿名用户对 userReg.aspx页面进行访问.<br />
&lt;location path="userReg.aspx"&gt;<br />
&lt;system.web&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;authorization&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;allow users="?" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/authorization&gt;<br />
&lt;/system.web&gt;<br />
&lt;/location&gt;<br />
3 在登录成功后要创建身份验证票, 表明已经通过认证的合法用户;<br />
if(登陆成功)<br />
System.Web.Security.FormsAuthentication.SetAuthCookie(用户名称, false);<br />
　　四、访问Web.config文件<br />
　　你可以通过使用ConfigurationSettings.AppSettings 静态字符串集合来访问 Web.config 文件示例：获取上面例子中建立的连接字符串。例如：<br />
protected static string Isdebug = ConfigurationSettings.AppSettings["scon"]<img style="display: none; position: relative" src="http://imgcache.qq.com/qzone_v4/b.gif"  alt="" /></div>
<br />
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1066761.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42959/" target="_blank">[新闻]微软承认Vista用户账户控制功能有问题</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>教你合理设计数据表，将优化进行到底</title><link>http://www.cnblogs.com/wdx2008/archive/2008/02/03/1063139.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Sat, 02 Feb 2008 18:19:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2008/02/03/1063139.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1063139.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2008/02/03/1063139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1063139.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1063139.html</trackback:ping><description><![CDATA[<span style="color: red"><span style="color: #000000"><strong style="color: #800000">字符</strong></span><br />
varchar&nbsp;&nbsp; </span>可变字符&nbsp; 和存储的字符字节相等 列：abc123占用6个字节（表现为占用磁盘大小，下同）<br />
<font face="Verdana"><font style="color: red" face="Verdana">nvarchar <span style="color: #000000">可变字符 是实际存储字节的两倍 例：abc123占用12个字节 该字符使用<font face="Verdana">Unicode</font>编码支持多国语言<br />
<span style="color: #ff0000">char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>固定字符&nbsp; 实际表现例：指定列的长度为10 将abc123填充进去后面将出现4个空格。<br />
<strong style="color: #800000">整数</strong>&nbsp;&nbsp;<br />
&nbsp; <span style="color: #ff0000">bigint&nbsp;&nbsp;&nbsp;&nbsp;占用8个字节</span><br />
&nbsp; 从&nbsp;&nbsp;-2^63 &nbsp; (-9223372036854775808) &nbsp; 到 &nbsp; 2^63-1 &nbsp; (9223372036854775807) &nbsp; 的整型数据（所有数字）。&nbsp;<br />
<span style="color: #ff0000">&nbsp; int&nbsp;&nbsp;&nbsp;</span><br />
&nbsp; 从 &nbsp; -2^31 &nbsp; (-2,147,483,648) &nbsp; 到 &nbsp; 2^31 &nbsp; - &nbsp; 1 &nbsp; (2,147,483,647) &nbsp; 的整型数据（所有数字）。&nbsp;&nbsp;&nbsp;<br />
<span style="color: #ff0000">&nbsp; smallint&nbsp;&nbsp;&nbsp;占用4个字节<br />
</span>&nbsp; 从 &nbsp; -2^15 &nbsp; (-32,768) &nbsp; 到 &nbsp; 2^15 &nbsp; - &nbsp; 1 &nbsp; (32,767) &nbsp; 的整数数据。&nbsp;&nbsp;&nbsp;<br />
<span style="color: #ff0000">&nbsp; <span style="color: #ff0000">tinyint&nbsp;&nbsp;&nbsp;占用一个字节<br />
</span></span>&nbsp; 从 &nbsp; 0 &nbsp; 到 &nbsp; 255 &nbsp; 的整数数据。&nbsp;&nbsp; <br />
<br />
总结：<br />
1.如果网站只是中文，不涉及多国语言的建议使用varchar，使用nvarchar将浪费空间，影响效率。<br />
2.字符长度相对固定的要使用char字段，比如USER_IP。char是定长的, &nbsp; 移动到下一条记录, &nbsp; 只需要做固定长度的指针偏移即可.&nbsp;&nbsp;varchar则必须根据当前记录的长度算出下一个数据指针的偏移.&nbsp;<br />
3.字符为数字的最好使用数字型数据。因为其占用字节更小且排序亦占优势。如手机号码使用Varchar需11位 使用bigint则占用8位。<br />
<br />
几个问题：<br />
<strong>1.&nbsp;char(n)一定比varchar(n)速度快么?</strong> &nbsp; <br />
&nbsp; 不一定 &nbsp; <br />
&nbsp; 计算varchar的偏移是会花去一些cpu时间，但性能瓶颈不在此，在io. &nbsp; <br />
&nbsp; db的io单位是数据页(8192字节)(一页存有多个数据行，数据行不能跨页。当然image,text等例外). &nbsp; <br />
&nbsp; 因此一页中行越多，性能越好。<br />
<span style="color: #000000"><strong>2.使用的数字可能很小，但如果都定义成INT对效率有影响吗？</strong></span><br />
&nbsp;是的<br />
&nbsp;这个是当然的，首先表现为int和tinyint占用的字节不同，也可理解成占用的磁盘的大小不同，较小的字节可以省去不必要的 内存消耗和相关指针转移。<br />
<strong>3.varchar/char不支持多国语言，为什么英文和中文都能正常显示？</strong><br />
&nbsp; 这是因为服务器的操作系统和所安装的MSSQL都是中文的。<br />
&nbsp; 参考：<font face="Verdana">http://topic.csdn.net/t/20060324/18/4638303.html</font><br />
4.其它还有什么方法提高数据库查询效率<br />
合理使用索引 &nbsp; &nbsp; <br />
&nbsp; 索引是数据库中重要的数据结构，它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处，其使用原则如下： &nbsp; &nbsp; <br />
&nbsp; ●在经常进行连接，但是没有指定为外键的列上建立索引，而不经常连接的字段则由优化器自动生成索引。 &nbsp; &nbsp; <br />
&nbsp; ●在频繁进行排序或分组（即进行group &nbsp; by或order &nbsp; by操作）的列上建立索引。 &nbsp; &nbsp; <br />
&nbsp; ●在条件表达式中经常用到的不同值较多的列上建立检索，在不同值少的列上不要建立索引。比如在雇员表的&#8220;性别&#8221;列上只有&#8220;男&#8221;与&#8220;女&#8221;两个不同值，因此就无必要建立索引。如果建立索引不但不会提高查询效率，反而会严重降低更新速度。&nbsp;&nbsp;<br />
&nbsp; ●如果待排序的列有多个，可以在这些列上建立复合索引（compound &nbsp; index）。 &nbsp; &nbsp; <br />
&nbsp; ●使用系统工具。如Informix数据库有一个tbcheck工具，可以在可疑的索引上进行检查。在一些数据库服务器上，索引可能失效或者因为频繁操作而使得读取效率降低，如果一个使用索引的查询不明不白地慢下来，可以试着用tbcheck工具检查索引的完整性，必要时进行修复。另外，当数据库表更新大量数据后，删除并重建索引可以提高查询速度。&nbsp;&nbsp;<br />
<strong>不同编码字节长度测试代码:</strong><br />
System.Text.Encoding.Unicode.GetByteCount(StrTest); <br />
System.Text.Encoding.UTF8.GetByteCount(StrTest); <br />
System.Text.Encoding.GetEncoding("GB2312").GetByteCount(StrTest);</span></font></font>
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1063139.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42958/" target="_blank">[新闻]资本寒冬侵袭中国视频网站 营销春天或不远</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>为你的mail server增加SPF记录</title><link>http://www.cnblogs.com/wdx2008/archive/2008/01/23/1050134.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Wed, 23 Jan 2008 07:01:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2008/01/23/1050134.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1050134.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2008/01/23/1050134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1050134.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1050134.html</trackback:ping><description><![CDATA[<h2>为你的mail server增加SPF记录</h2>
<div class="t_msgfont" id="postmessage_153003">chifeng的大作;p)<br />
----------------------<br />
什么是SPF<br />
就是Sender Policy Framework。SPF可以防止别人伪造你来发邮件，是一个反伪造性邮件的解决方案。当你定义了你的domain name的SPF记录之后，接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面，如果在，则认为是一封正确的邮件，否则则认为是一封伪造的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D3%CA%BC%FE">邮件</span>。关于更详细的信息请参考RFC4408（<a href="http://www.ietf.org/rfc/rfc4408.txt" target="_blank">http://www.ietf.org/rfc/rfc4408.txt</a>）<br />
<br />
如何增加SPF记录<br />
非常简单，在DNS里面添加TXT记录即可。登陆<a href="http://www.openspf.org/wizard.html" target="_blank">http://www.<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=open">open</span>spf.org/wizard.html</a> 在里面输入你的域名，点击Begin，然后会自动得到你<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D3%F2%C3%FB">域名</span>的一些相关信息。<br />
a 你域名的A记录，一般选择yes，因为他有可能发出邮件。<br />
mx 一般也是yes，MX<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%B7%FE%CE%F1%C6%F7">服务器</span>会有退信等。<br />
ptr 选择no，官方建议的。<br />
<br />
a： 有没有其他的二级域名？比如：bbs.ext<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=mail">mail</span>.org和www不在一台<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=server">server</span>上，则填入bbs.extmail.org。否则清空。<br />
mx: 一般不会再有其他的mx记录了。<br />
ip4： 你还有没有其他的ip发信？可能你的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=smtp">smtp</span>服务器是独立出来的，那么就填入你的IP地址或者网段。<br />
include: 如果有可能通过一个isp来发信，这个有自己的SPF记录，则填入这个isp的域名，比如：sina.com<br />
~all: 意思是除了上面的，其他的都不认可。当然是yes了。<br />
<br />
好了，点击Continue&#8230;..<br />
自动生成了一条SPF记录，比如extmail.org的是<br />
v=spf1 a mx ~all<br />
并且在下面告诉你如何在你的bind里面添加一条<br />
extmail.org. IN TXT &#8220;v=spf1 a mx ~all&#8221;<br />
<br />
加入你的bind，然后ndc reload即可。<br />
检查一下：<br />
dig -t txt extmail.org</div>
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1050134.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42957/" target="_blank">[新闻]金融风暴波及全球创业板 中国概念股难独善其身</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>马云在《赢在中国》对创业者的经典点评</title><link>http://www.cnblogs.com/wdx2008/archive/2008/01/13/1037513.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Sun, 13 Jan 2008 15:54:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2008/01/13/1037513.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1037513.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2008/01/13/1037513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1037513.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1037513.html</trackback:ping><description><![CDATA[1　这个世界不是因为你能做什么，而是你该做什么。<br />
<br />
　　2　创意是企业运营中一个很重要的一环，但它只是一环，不是所有，所以要把每项工作落实到实处。<br />
<br />
　　3　建立自我、追求忘我。<br />
<br />
　　4　做一份工作，做一份喜欢的工作就是很好的创业。<br />
<br />
　　5　不是你的公司在哪里，有时候你的心在哪里，你的眼光在哪里更为重要。<br />
<br />
　　6　不想当将军的士兵不是好士兵，但是一个当不好士兵的将军一定不是好将军。<br />
<br />
　　7　一个创业者最重要的，也是你最大的财富，就是你的诚信。<br />
<br />
　　8　小公司的战略就是两个词：活下来，挣钱。<br />
<br />
　　9　五年以后还想创业，你再创业。<br />
<br />
　　10　生存下来的第一个想法是做好，而不是做大。<br />
<br />
　　11　创业者书读得不多没关系，就怕不在社会上读书。<br />
<br />
　　12　在今天的商场上已经没有秘密了，秘密不是你的核心竞争力。<br />
<br />
　　13　很多人失败的原因不是钱太少，而是钱太多。<br />
<br />
　　14　概念到今天这个时代已经不能卖钱了。<br />
<br />
　　15　创业者光有激情和创新是不够的，它需要很好的体系、制度、团队以及良好的盈利模式。<br />
<br />
　　16　你的项目感觉是一个生意，不是一个独特的企业。<br />
<br />
　　17　赚钱模式越多越说明你没有模式。<br />
<br />
　　18　最优秀的模式往往是最简单的东西。<br />
<br />
　　19　建一个公司的时候要考虑有好的价值才卖。如果一开始想到卖，你的路可能就走偏掉。<br />
<br />
　　20　人要有专注的东西，人一辈子走下去挑战会更多，你天天换，我就怕了你。<br />
<br />
　　21　要找风险投资的时候，必须跟风险投资共担风险，你拿到的可能性会更大。<br />
<br />
　　22　记住，关系特别不可靠，做生意不能凭关系，做生意也不能凭小聪明。<br />
<br />
　　23　不要贪多，做精做透很重要，碰到一个强大的对手或者榜样的时候，你应该做的不是去挑战它，而是去弥补它。<br />
<br />
　　24　这世界上没有优秀的理念，只有脚踏实地的结果。<br />
<br />
　　25　一个好的东西往往是说不清楚的，说得清楚的往往不是好东西。<br />
<br />
　　26　如果你看了很多书，千万别告诉别人，告诉别人别人就会不断考你。<br />
<br />
　　27　一个项目，一个想法如果不够独特的话，很难吸引别人。<br />
<br />
　　28　做战略最忌讳的是面面俱到，一定要记住重点突破，所有的资源在一点突破，才有可能赢。<br />
<br />
　　29　小企业有大的胸怀，大企业要讲细节的东西。<br />
<br />
　　30　所有的创业者应该多花点时间，去学习别人是怎么失败的。<br />
<br />
　　31　关注对手是战略中很重要的一部分，但这并不意味着你会赢。<br />
<br />
　　32　战略不能落实到结果和目标上面，都是空话。<br />
<br />
　　33　很多东西是很难考量的，理念很难考量，但结果是可考量的。<br />
<br />
　　34　绝大部分创业者从微观推向宏观，通过发现一部分人的需求，然后向一群人推起来。<br />
<br />
　　35　80年代的人不要跟70年代，跟60年代的人竞争，而是要跟未来，跟90年代的人竞争，这样你才有赢的可能性。<br />
<br />
　　36　商业计划绝对不是一个销售计划，里面有无数细节，无数人才的运营。<br />
<br />
　　37　蒙牛不是策划出来的，而是踏踏实实的产品、服务和体系做出来的。<br />
<br />
　　38　战略不等于结果，战略制定了以后，结果还很遥远，还有很长的路要走。<br />
<br />
　　39　战略有很多意义，小公司的战略简单一点，就是活着，活着最重要。<br />
<br />
　　40　必须先去了解市场和客户的需求，然后再去找相关的技术解决方案，这样成功的可能性才会更大。<br />
<br />
　　41　最核心的问题是根据市场去制定你的产品，关键是要倾听客户的声音。　　<br />
<br />
　　42　费是世界上最昂贵的东西。所以尽量不要免费。等你有了钱以后再考虑免费。<br />
<br />
　　43　&#8220;营销&#8221;这两个字强调既要追求结果，也要注重过程，既要&#8220;销&#8221;，更要&#8220;营&#8221;。<br />
<br />
　　44　要少开店、开好店，店不在于多，而在于精。<br />
<br />
　　45　男人的胸怀是委屈撑大的，多一点委屈，少一些脾气你会更快乐。<br />
<br />
　　46　有价值观，没有业务称为小白兔，一个公司小白兔多了以后，那就是一种灾难。<br />
<br />
　　47　诚信绝对不是一种销售，更不是一种高深空洞的理念，它是实实在在的言出必行、点点滴滴的细节。<br />
<br />
　　48　改变文化很难很难，但也不是不可能，我创建了蓝田玉pdf小说网，希望能够改变人们阅读小说的习惯。<br />
<br />
　　49　一个一流的创意，三流的执行，我宁可喜欢一个一流的执行，三流的创意。<br />
<br />
　　50　我觉得我们应该为结果付报酬，为过程鼓掌。<br />
<br />
　　51　其实很多人的问题是因为他们回答的全是对的。<br />
<br />
　　52　品质不仅仅是团队，它还是文化，是制度，是一整套东西。<br />
<br />
　　53　公关是个副产品，由于你解决了以后会逐渐传出去，这才是最好的公关。<br />
<br />
　　54　文化贯彻是最关键的。<br />
<br />
　　55　天不怕，地不怕，就怕CFO当CEO。<br />
<br />
　　56　短暂的激情是不值钱的，只有持久的激情才是赚钱的。<br />
<br />
　　57　聪明是智慧者的天敌，傻瓜用嘴讲话，聪明的人用脑袋讲话，智慧的人用心讲话。<br />
<br />
　　58　做企业不是做侠客，可是我还是经常免费赠送了宝宝爱儿歌的注册码。<br />
<br />
　　59　永远要把对手想得非常强大，哪怕非常弱小，你也要把他想得非常强大。<br />
<br />
　　60　慈善必须以商业的计划执行，以商业的形式执行，慈善才能走得久走得长。<br />
<br />
　　61　我自己不愿意聘用一个经常在竞争者之间跳跃的人。<br />
<br />
　　62　多花点时间在你的其他员工身上。<br />
<br />
　　63　什么是团队呢？团队就是不要让另外一个人失败，不要让团队任何一个人失败。<br />
<br />
　　64　把你太太当合作伙伴，不要把她当太太看。<br />
<br />
　　65　以后是想得可以很大，东西得一点点干，包括你请来MBA，请了一大堆人帮你做，你现在一个人在干。当CEO尽量少用我，有我们可能更好一点。<br />
<br />
　　66　有时候学历很高不一定把自己沉得下来做事情。<br />
<br />
　　67　创业时期千万不要找明星团队，千万不要找已经成功过的人。创业要找最适合的人，不要找最好的人。<br />
<br />
　　68　最大的挑战和突破在于用人，而用人最大的突破在于信任人。<br />
<br />
　　69　在公司内部找到能够超过你自己的人，这就是你发现人才的办法。<br />
<br />
　　70　什么都想自己干，这个世界上你干不完。<br />
<br />
　　71　永远要相信边上的人比你聪明。<br />
<br />
　　72　现在你需要踏踏实实，实实在在跟你一起干的人。<br />
<br />
　　73　每一笔生意必须挣钱，免费不是一个好策略，它付出的代价会非常大。<br />
<br />
　　74　领导力在顺境的时候，每个人都能出来，只有在逆境的时候才是真正的领导力。<br />
<br />
　　75　碰到灾难第一个想到的是你的客户，第二想到你的员工，其他才是想对手。<br />
<br />
　　76　有时候死扛下去总是会有机会的。<br />
<br />
　　77　永远记住每次成功都可能导致你的失败，每次失败好好接受教训，也许就会走向成功。<br />
<br />
　　78　暴躁在某种程度上讲是因为有不安全感，或者是自己没有开放的心态。<br />
<br />
　　79　上当不是别人太狡猾，而是自己太贪，是因为自己才会上当。<br />
<br />
　　80　可能一个人说你不服气，两个人说你不服气，很多人在说的时候，你要反省，一定是自己出了一些问题。<br />
<br />
　　81　一个成功的创业者，三个因素，眼光、胸怀和实力。<br />
<br />
　　82　别人可以拷贝我的模式，不能拷贝我的苦难，不能拷贝我不断往前的激情。<br />
<br />
　　83　年代的人还需要摔打，不管做任何事，要检查主观原因。<br />
<br />
　　84　做小了，一定要做到独特。<br />
<br />
　　85　不去想清楚就会变成一个包袱，一定要花时间去想。<br />
<br />
　　86　人永远不要忘记自己第一天的梦想，你的梦想是世界上最伟大的事情，就是帮助别人成功。<br />
<br />
　　87　创业者的激情有的在表面上，有的在内心里。<br />
<br />
　　88　不管你拥有多少资源，永远把对手想得强大一点。<br />
<br />
　　89　有结果未必是成功，但是没有结果一定是失败。<br />
<br />
　　90　没有一个良好的过程，任何一次成功都不可能被复制。<br />
<br />
　　91　永远把别人对你的批评记在心里，别人的表扬，就把它忘了。<br />
<br />
　　92　做任何事，必须要有突破，没有突破，就等于没做。<br />
<br />
　　93　《赢在中国》没有失败者，只有幸运者。<br />
<br />
　　94　权威是你把权给别人的时候，你才能有真正的权利，你懂得倾听、懂得尊重，承担责任的时候，别人一定会听你，你才会有权威。
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1037513.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42956/" target="_blank">[新闻]携程范敏：CEO从接发传真做起</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>给不同文件夹设置主题并指定其编码</title><link>http://www.cnblogs.com/wdx2008/archive/2007/12/26/1014906.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Tue, 25 Dec 2007 21:42:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2007/12/26/1014906.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1014906.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2007/12/26/1014906.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1014906.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1014906.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;</span><span style="color: #000000">location&nbsp;path</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">lilacadmin</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">system.web</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">globalization&nbsp;requestEncoding</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">GB2312</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;responseEncoding</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">GB2312</span><span style="color: #800000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">pages&nbsp;theme</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">admin</span><span style="color: #800000">"</span><span style="color: #000000">&gt;&lt;/</span><span style="color: #000000">pages</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">system.web</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">location</span><span style="color: #000000">&gt;</span></div>
给不同文件夹设置数据库链接<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&lt;</span><span style="color: #000000">location&nbsp;path</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">t</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">appSettings</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">add&nbsp;key</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">strconn2</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;value</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">/App_Data/db.mdb</span><span style="color: #800000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">appSettings</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">location</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">appSettings</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">appSettings</span><span style="color: #000000">&gt;</span></div>
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1014906.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42955/" target="_blank">[新闻]2008年10月13日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>在线支付类封装</title><link>http://www.cnblogs.com/wdx2008/archive/2007/12/26/1014900.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Tue, 25 Dec 2007 21:01:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2007/12/26/1014900.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1014900.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2007/12/26/1014900.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1014900.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1014900.html</trackback:ping><description><![CDATA[支付宝发送
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">AlipayClass.MyAlipay&nbsp;pay&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;AlipayClass.MyAlipay();<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hashtable&nbsp;ht&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Hashtable();<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">seller_email</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">wdx2011@163.com</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">billid</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">96578556656688</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">goodname</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">AilpayClass</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">price</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">0.01</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">msg</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">AilpayClass</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">returnurl</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">http://localhost:56/2.aspx</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">showurl</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">www.lilacshop.com</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht.Add(</span><span style="color: #800000">"</span><span style="color: #800000">encode</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">GB2312</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pay.Send(ht);</span></div>
<br />
获取状态<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;AlipayClass.MyAlipay&nbsp;pay&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;AlipayClass.MyAlipay();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(pay.GetState(</span><span style="color: #800000">"</span><span style="color: #800000">gb2312</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">&lt;br&gt;</span><span style="color: #800000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">获取交易状态1为已支付&nbsp;2预支付&nbsp;0为失败&nbsp;否则返回其它支付状态码</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(</span><span style="color: #800000">"</span><span style="color: #800000">订单号：</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;pay.GetState(</span><span style="color: #800000">"</span><span style="color: #800000">out_trade_no</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">gb2312</span><span style="color: #800000">"</span><span style="color: #000000">));&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">输入返回状态中参数及页面编码&nbsp;out_trade_no为订单号<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Response.Write(pay.GetState("gb2312",&nbsp;true));</span><span style="color: #008000">//</span><span style="color: #008000">启用调试打印具体信息</span><span style="color: #008000"><br />
</span></div>
<br />
网银<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;AlipayClass.ChinaBank&nbsp;cb&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;AlipayClass.ChinaBank();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(cb.GetState()</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">&lt;br&gt;</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(</span><span style="color: #800000">"</span><span style="color: #800000">v_oid:</span><span style="color: #800000">"</span><span style="color: #000000">+</span><span style="color: #000000">cb.GetState(</span><span style="color: #800000">"</span><span style="color: #800000">v_oid</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">+</span><span style="color: #800000">"</span><span style="color: #800000">&lt;br&gt;</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(</span><span style="color: #800000">"</span><span style="color: #800000">v_psstring:</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;cb.GetState(</span><span style="color: #800000">"</span><span style="color: #800000">v_psstring</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;br&gt;</span><span style="color: #800000">"</span><span style="color: #000000">);</span></div>
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1014900.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42955/" target="_blank">[新闻]2008年10月13日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SET XACT_ABORT各种用法及显示结果</title><link>http://www.cnblogs.com/wdx2008/archive/2007/12/19/1005196.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Tue, 18 Dec 2007 16:25:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2007/12/19/1005196.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/1005196.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2007/12/19/1005196.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/1005196.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/1005196.html</trackback:ping><description><![CDATA[<p>使用MSSQL事务回滚总结<br />
&nbsp;1.默认为<span style="color: #0000ff">SET</span><span style="color: #000000">&nbsp;XACT_ABORT&nbsp;</span><span style="color: #0000ff">OFF 即遇到错误时回滚（真是晕，这不叫回滚，遇到错误当然不能执行了）所以干脆说默认回滚不起作用。<br />
</span>&nbsp;2.<span style="color: #0000ff">SET</span><span style="color: #000000">&nbsp;XACT_ABORT&nbsp;</span><span style="color: #0000ff">OFF </span><br />
&nbsp;&nbsp; 。。。<br />
&nbsp; <span style="color: #0000ff">COMMIT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TRAN</span><span style="color: #000000"><br />
</span>&nbsp; 这时才是所谓真正的事务，遇到任何错误事务回滚<br />
&nbsp;3.<span style="color: #0000ff">SET</span><span style="color: #000000">&nbsp;XACT_ABORT&nbsp;</span><span style="color: #0000ff">OFF </span><br />
&nbsp;&nbsp; 。。。<br />
&nbsp;&nbsp; 这时遇到错误时事务回滚，错误前的操作正常<br />
<br />
&nbsp; 另@@IDENTITY 系统产销<br />
==============================<br />
理解 @@IDENTITY <br />
<br />
@@IDENTITY 返回最后一个插入 IDENTITY 的值，这些操作包括：INSERT， SELECT INTO，或者 bulk copy。如果在给没有 IDENTITY 列的其他表插入记录，系统将其置为 null。如果有多行记录插入到 IDENTITY 表中，@@IDENTITY 表示最后一个产生的值。如果触发了某个触发器，并且这个触发器执行向另一个带有 IDENTITY 列的表的插入操作，@@IDENTITY 将返回这个由触发器产生的值。如果这个触发器插入的表中不包含 IDENTITY 列，那么 @@IDENTITY 将为 null。如果插入操作失败，@@IDENTITY 值依然会增加，所以 IDENTITY 不保证数据的连续性。 <br />
<br />
<br />
<br />
一、准备工作：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、首先我们创建测试数据库：</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 90.66%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid; height: 23px">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">database</span><span style="color: #000000">&nbsp;demo</span></div>
</div>
<p>&nbsp;&nbsp;&nbsp; 2、创建数据表和测试数据：(这里注意外键控制)</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">use</span><span style="color: #000000">&nbsp;demo<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TABLE</span><span style="color: #000000">&nbsp;student<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />(&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuid&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">NOT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">NULL</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">PRIMARY</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">KEY</span><span style="color: #000000">,<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuname&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">)<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />)<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TABLE</span><span style="color: #000000">&nbsp;score&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />(<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuid&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">NOT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">NULL</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">REFERENCES</span><span style="color: #000000">&nbsp;student(stuid),<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />)<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">GO</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;student&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">101</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">zhangsan</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;student&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">102</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">wangwu</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;student&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">103</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">lishi</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;student&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">104</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">maliu</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">GO</span></div>
</div>
<p>二、各种用法及输出结果：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、语句1：</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">use</span><span style="color: #000000">&nbsp;demo<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">Invoking&nbsp;a&nbsp;run-time&nbsp;error</span><span style="color: #008080"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">SET</span><span style="color: #000000">&nbsp;XACT_ABORT&nbsp;</span><span style="color: #0000ff">OFF</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">BEGIN</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TRAN</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">101</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">90</span><span style="color: #000000">)<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">102</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">78</span><span style="color: #000000">)&nbsp;<br />
<img id="_184_206_Open_Image" onclick="this.style.display='none'; document.getElementById('_184_206_Open_Text').style.display='none'; document.getElementById('_184_206_Closed_Image').style.display='inline'; document.getElementById('_184_206_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_184_206_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('_184_206_Closed_Text').style.display='none'; document.getElementById('_184_206_Open_Image').style.display='inline'; document.getElementById('_184_206_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">107</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">76</span><span style="color: #000000">)&nbsp;</span><span id="_184_206_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="_184_206_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;Foreign&nbsp;Key&nbsp;Error&nbsp;</span><span style="color: #008080">*/</span></span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">103</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">81</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">104</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">65</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">COMMIT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TRAN</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">go</span></div>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 结果1：只回滚错误行，语句还继续执行。</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #008080">--</span><span style="color: #008080">select&nbsp;*&nbsp;from&nbsp;score</span><span style="color: #008080"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="font-weight: bold; color: #800000">101</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">90</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="font-weight: bold; color: #800000">102</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">78</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="font-weight: bold; color: #800000">103</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">81</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="font-weight: bold; color: #800000">104</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">65</span></div>
</div>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、语句2：</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">use</span><span style="color: #000000">&nbsp;demo<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">事务回滚</span><span style="color: #008080"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">SET</span><span style="color: #000000">&nbsp;XACT_ABORT&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">BEGIN</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TRAN</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">101</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">90</span><span style="color: #000000">)<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">102</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">78</span><span style="color: #000000">)&nbsp;<br />
<img id="_162_184_Open_Image" onclick="this.style.display='none'; document.getElementById('_162_184_Open_Text').style.display='none'; document.getElementById('_162_184_Closed_Image').style.display='inline'; document.getElementById('_162_184_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_162_184_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('_162_184_Closed_Text').style.display='none'; document.getElementById('_162_184_Open_Image').style.display='inline'; document.getElementById('_162_184_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">107</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">76</span><span style="color: #000000">)&nbsp;</span><span id="_162_184_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="_162_184_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;Foreign&nbsp;Key&nbsp;Error&nbsp;</span><span style="color: #008080">*/</span></span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">103</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">81</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">104</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">65</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">COMMIT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TRAN</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">go</span></div>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 结果2：事务终止并全部回滚，结果为空。</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #008080">--</span><span style="color: #008080">select&nbsp;*&nbsp;from&nbsp;score</span><span style="color: #008080"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span></div>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、语句3：</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">use</span><span style="color: #000000">&nbsp;demo<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">事务在错误行终止，错误行回滚，错误行之前的不回滚</span><span style="color: #008080"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">SET</span><span style="color: #000000">&nbsp;XACT_ABORT&nbsp;</span><span style="color: #0000ff">on</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">BEGIN</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">101</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">90</span><span style="color: #000000">)<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">102</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">78</span><span style="color: #000000">)&nbsp;<br />
<img id="_173_195_Open_Image" onclick="this.style.display='none'; document.getElementById('_173_195_Open_Text').style.display='none'; document.getElementById('_173_195_Closed_Image').style.display='inline'; document.getElementById('_173_195_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_173_195_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('_173_195_Closed_Text').style.display='none'; document.getElementById('_173_195_Open_Image').style.display='inline'; document.getElementById('_173_195_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">107</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">76</span><span style="color: #000000">)&nbsp;</span><span id="_173_195_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="_173_195_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">&nbsp;Foreign&nbsp;Key&nbsp;Error&nbsp;</span><span style="color: #008080">*/</span></span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">103</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">81</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">INSERT</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">INTO</span><span style="color: #000000">&nbsp;score&nbsp;</span><span style="color: #0000ff">VALUES</span><span style="color: #000000">&nbsp;(</span><span style="font-weight: bold; color: #800000">104</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">65</span><span style="color: #000000">)&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">END</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">go</span></div>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 结果3：出现这种是因为系统把每个insert语句都看成是单独的事务，所以错误行以前的是不回滚的。</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #008080">--</span><span style="color: #008080">select&nbsp;*&nbsp;from&nbsp;score</span><span style="color: #008080"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="font-weight: bold; color: #800000">101</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">90</span><span style="color: #000000"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="font-weight: bold; color: #800000">102</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">78</span></div>
</div>
<br />
<img src ="http://www.cnblogs.com/wdx2008/aggbug/1005196.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42954/" target="_blank">[新闻]Google Android手机大受欢迎,已经订出150万台</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ASP.NET邮件外发</title><link>http://www.cnblogs.com/wdx2008/archive/2007/12/13/994275.html</link><dc:creator>wdx2008</dc:creator><author>wdx2008</author><pubDate>Thu, 13 Dec 2007 15:27:00 GMT</pubDate><guid>http://www.cnblogs.com/wdx2008/archive/2007/12/13/994275.html</guid><wfw:comment>http://www.cnblogs.com/wdx2008/comments/994275.html</wfw:comment><comments>http://www.cnblogs.com/wdx2008/archive/2007/12/13/994275.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/wdx2008/comments/commentRss/994275.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/wdx2008/services/trackbacks/994275.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;myemail&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;TextBox1.Text;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;euser&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;TextBox2.Text;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;pass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;TextBox3.Text;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;emailTo&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;TextBox4.Text;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;title&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;TextBox5.Text;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;semail&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;RadioButtonList1.SelectedValue.ToString();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;smtp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;TextBox6.Text;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(semail&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">1</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_332_1488_Open_Image" onclick="this.style.display='none'; Codehighlighter1_332_1488_Open_Text.style.display='none'; Codehighlighter1_332_1488_Closed_Image.style.display='inline'; Codehighlighter1_332_1488_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_332_1488_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_332_1488_Closed_Text.style.display='none'; Codehighlighter1_332_1488_Open_Image.style.display='inline'; Codehighlighter1_332_1488_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_332_1488_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_332_1488_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MailMessage&nbsp;mailMsg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MailMessage();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置正文格式</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.BodyFormat&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;MailFormat.Html;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置收件人的邮件地址</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.To&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;emailTo;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置发送者的邮件地址</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.From&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;myemail;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置邮件主题</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.Subject&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;title;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置邮件内容</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.Body&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">test</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置支持服务器验证</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.Fields.Add(</span><span style="color: #000000">"</span><span style="color: #000000">http://schemas.microsoft.com/cdo/configuration/smtpauthenticate</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">1</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置用户名</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.Fields.Add(</span><span style="color: #000000">"</span><span style="color: #000000">http://schemas.microsoft.com/cdo/configuration/sendusername</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;euser);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置用户密码</span><span style="color: #008000"><br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailMsg.Fields.Add(</span><span style="color: #000000">"</span><span style="color: #000000">http://schemas.microsoft.com/cdo/configuration/sendpassword</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;pass);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000"><br />
<img id="Codehighlighter1_1092_1333_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1092_1333_Open_Text.style.display='none'; Codehighlighter1_1092_1333_Closed_Image.style.display='inline'; Codehighlighter1_1092_1333_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1092_1333_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1092_1333_Closed_Text.style.display='none'; Codehighlighter1_1092_1333_Open_Image.style.display='inline'; Codehighlighter1_1092_1333_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/Co