⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db980109.gb_

📁 ASPWeb数据库范例总览
💻 GB_
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
   <TITLE>资料库: 呼叫 Recordset.Delete 之後,有反悔的机會吗?</TITLE>
   <META NAME="Author" CONTENT="KJ Wang">
   <META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
</HEAD>
<BODY TEXT="#202020" BGCOLOR="#FFFFFF" LINK="#FF0000" VLINK="#0000FF" ALINK="#FF0000">

<H2 ALIGN=CENTER><A HREF="vbdb.htm">VB5 与资料库程式设计</A></H2>

<CENTER><P><B><FONT SIZE=+1>补充教材</FONT></B></P></CENTER>

<H3 ALIGN=CENTER>
<HR WIDTH="100%">呼叫 Recordset.Delete 之後,有反悔的机會吗?(98/01/09
补充说明) 
<HR WIDTH="100%"></H3>

<DIV ALIGN=right><ADDRESS><FONT COLOR="#008000">参阅章节:第17章-第 4 招,p.531。</FONT></ADDRESS></DIV>

<CENTER><TABLE CELLSPACING=0 WIDTH="95%" >
<TR>
<TD>基本上, 呼叫 Recordset.Delete 之後, 资料录會立刻从资料库中除去,
但请参考 p.531 的 BeginTrans 及 CommitTrans, 其中:
<UL>
<TABLE BORDER=1 CELLSPACING=0 >
<TR VALIGN=TOP>
<TD>BeginTrans</TD>

<TD>是将所有更新资料库的动作先写到记忆体中。(这表示被删除的资料录还没有从资料库档案中除去)</TD>
</TR>

<TR>
<TD>CommitTrans</TD>

<TD>真正将记忆体中资料变动的情形写到资料库档案中。</TD>
</TR>
</TABLE>
</UL>

<P>除了以上两个方法之外, 另一个方法 <FONT COLOR="#FF0000">RollBack</FONT>(书中未介绍)
的作用则是「<FONT COLOR="#FF0000">取消记忆体中的资料变动</FONT>」。</P>

<P>
<HR WIDTH="100%"></P>

<P>有了以上几个方法之後, 我们可以利用以下程式决定 Delete 是否真正地删除资料录:</P>

<UL>
<PRE><FONT SIZE=+1><FONT COLOR="#008000">' rs 为一 Recordset 物件
</FONT>DBEngine.<FONT COLOR="#FF0000">BeginTrans
</FONT>rs.<FONT COLOR="#FF0000">Delete </FONT> <FONT COLOR="#008000">' 由於之前呼叫了 Begins, 所以此一 Delete 尚未真正删除资料录
</FONT>If ... Then <FONT COLOR="#008000">' 真正删除资料录的条件成立时
</FONT>    DBEngine.<FONT COLOR="#FF0000">CommitTrans</FONT> <FONT COLOR="#008000">' 将变动真正到写到资料库档案中
</FONT>Else
    DBEngine.<FONT COLOR="#FF0000">RollBack</FONT> <FONT COLOR="#008000">' 取消所有的变动
</FONT>End If </FONT></PRE>
</UL>
</TD>
</TR>
</TABLE></CENTER>

<P>
<HR WIDTH="100%"></P>

</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -