<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0077)http://www.cnblogs.com/eddie005/archive/2006/08/01/OptimisticConcurrency.html -->
<HTML><HEAD id=Head><TITLE>Scott Mitchell 的ASP.NET 2.0数据教程之二十一:: 实现开放式并发 - №.零零伍 - 博客园</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META id=metaKeywords content="Scott Mitchell 的ASP.NET 2.0数据教程之二十一, 实现开放式并发"
name=keywords>
<META
content=这里翻译了ScottMitchell的ASP.NET2.0数据教程46节的其中一节,原文在http://www.asp.net/learn/data-access/tutorial-21-cs.aspx
name=description><LINK id=CommondCss href="实现开放式并发.files/common.css"
type=text/css rel=stylesheet><LINK id=MainCss href="实现开放式并发.files/style.css"
type=text/css rel=stylesheet><LINK id=CommondCss2
href="实现开放式并发.files/common2.css" type=text/css rel=stylesheet><LINK id=RSSLink
title=RSS href="http://www.cnblogs.com/eddie005/rss" type=application/rss+xml
rel=alternate><LINK id=RSDLink title=RSD
href="http://www.cnblogs.com/eddie005/rsd.xml" type=application/rsd+xml
rel=EditURI>
<SCRIPT src="实现开放式并发.files/common.js" type=text/javascript></SCRIPT>
<META content="MSHTML 6.00.2900.5726" name=GENERATOR></HEAD>
<BODY>
<FORM id=Form1 name=Form1 onsubmit="javascript:return WebForm_OnSubmit();"
action=OptimisticConcurrency.html method=post>
<DIV><INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> <INPUT
id=__EVENTARGUMENT type=hidden name=__EVENTARGUMENT> <INPUT
id=" __VIEWSTATE" type=hidden name=__VIEWSTATE> </DIV>
<SCRIPT type=text/javascript>
//<![CDATA[
var theForm = document.forms['Form1'];
if (!theForm) {
theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</SCRIPT>
<SCRIPT src="实现开放式并发.files/WebResource.axd" type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript>
function ctlent(evt,id)
{
if(evt.ctrlKey && evt.keyCode == 13)
{
try
{
TempSave(id);
}
catch(ex)
{
}
finally
{
__doPostBack('AjaxHolder$PostComment$btnSubmit','')
}
}
}</SCRIPT>
<SCRIPT language=JavaScript>function SetReplyAuhor(author){document.getElementById('AjaxHolder_PostComment_tbComment').value+="@"+author+"\n";document.getElementById('AjaxHolder_PostComment_tbComment').focus();return false}</SCRIPT>
<SCRIPT src="实现开放式并发.files/ScriptResource.axd" type=text/javascript></SCRIPT>
<SCRIPT
src="C:\Documents and Settings\Administrator\桌面\asp.net2.0\实现开放式并发.files\ScriptResource(1).axd"
type=text/javascript></SCRIPT>
<SCRIPT
src="C:\Documents and Settings\Administrator\桌面\asp.net2.0\实现开放式并发.files\ScriptResource(2).axd"
type=text/javascript></SCRIPT>
<SCRIPT src="实现开放式并发.files/js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
//]]>
</SCRIPT>
<!--done-->
<DIV id=header><!--done-->
<DIV class=header>
<DIV class=headerText><A class=headermaintitle id=Header1_HeaderTitle
href="http://www.cnblogs.com/eddie005/">№.零零伍</A><BR></DIV></DIV></DIV>
<DIV id=mytopmenu>
<DIV id=mylinks><!--done--><A class=menu id=MyLinks1_HomeLink
href="http://www.cnblogs.com/">博客园</A> <A class=menu
id=MyLinks1_MyHomeLink
href="http://www.cnblogs.com/eddie005/">首页</A> <A class=menu
href="http://space.cnblogs.com/">社区</A> <A class=menu
id=MyLinks1_NewPostLink
href="http://www.cnblogs.com/eddie005/admin/EditPosts.aspx?opt=1">新随笔</A>
<A class=menu id=MyLinks1_ContactLink
href="http://www.cnblogs.com/eddie005/contact.aspx?id=1">联系</A> <A
class=menu id=MyLinks1_Syndication
href="http://www.cnblogs.com/eddie005/rss">订阅</A><A id=MyLinks1_XMLLink
href="http://www.cnblogs.com/eddie005/rss"><IMG
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
alt=订阅 src="实现开放式并发.files/xml.gif"></A> <A class=menu
id=MyLinks1_Admin
href="http://www.cnblogs.com/eddie005/admin/EditPosts.aspx">管理</A> </DIV>
<DIV id=mystats><!--done-->随笔-17 评论-96 文章-16 trackbacks-99
</DIV></DIV>
<DIV id=centercontent>
<SCRIPT type=text/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90);
//]]>
</SCRIPT>
<!--done-->
<DIV class=post>
<DIV class=postTitle><A class=postTitle2 id=AjaxHolder_ctl01_TitleUrl
href="http://www.cnblogs.com/eddie005/archive/2006/08/14/OptimisticConcurrency.html">Scott
Mitchell 的ASP.NET 2.0数据教程之二十一:: 实现开放式并发</A> </DIV>
<H1 style="MARGIN: 9pt 0cm 3pt"><FONT size=5><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN">在</SPAN><SPAN
lang=EN-US style="mso-fareast-language: ZH-CN"><FONT face=Verdana>ASP.NET
2.0</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN">中操作数据</SPAN><SPAN
lang=EN-US style="mso-fareast-language: ZH-CN"><FONT
face=Verdana>:</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN">实现开放式并发</SPAN><SPAN
lang=EN-US style="mso-fareast-language: ZH-CN"><O:P></O:P></SPAN></FONT></H1>
<P class=MsoNormal style="MARGIN: 3pt 0cm"><SPAN lang=EN-US
style="mso-fareast-language: ZH-CN"><O:P><FONT face=Verdana
size=2></FONT></O:P></SPAN></P>
<P class=MsoNormal style="MARGIN: 3pt 0cm"><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: #333333"><A
href="http://download.microsoft.com/download/4/d/f/4df58778-2e89-4fc6-a4f7-47d38f106ade/ASPNET_Data_Tutorial_21_CS.exe"
target=_blank><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN"><SPAN
lang=EN-US>下载本教程中的编码例子</SPAN></SPAN></A></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: #333333; mso-fareast-language: ZH-CN"><FONT
face=Verdana> | </FONT></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; COLOR: #333333"><A
href="http://www.asp.net/learn/dataaccess/datatutorial21cs.pdf"><SPAN lang=EN-US
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN"><SPAN
lang=EN-US>下载<SPAN lang=EN-US>本教程的</SPAN></SPAN></SPAN><SPAN
style="mso-fareast-language: ZH-CN"><FONT face=Verdana>PDF</FONT></SPAN><SPAN
lang=EN-US
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN"><SPAN
lang=EN-US>版</SPAN></SPAN></A></SPAN><SPAN lang=EN-US
style="FONT-SIZE: 9pt; mso-fareast-language: ZH-CN"><O:P></O:P></SPAN></P>
<H2 style="MARGIN: 9pt 0cm 3pt"><FONT color=#808080><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-fareast-language: ZH-CN">导言</SPAN><SPAN
lang=EN-US style="mso-fareast-language: ZH-CN"><O:P></O:P></SPAN></FONT>