?? db980109.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 + -