指南針之BOF和EOF

2021-06-08 16:31:33 字數 2591 閱讀 2597

最近敲了下學生資訊管理系統,儘管耗時比較長,出了各色各樣的錯誤!但是欣喜的是發現了很多東西,這些東西對於我來說無疑是財寶。首先下我遇到的問題之一:bof和eof,初次接觸感覺很難理解,後來做著做著就有點感覺了,這感覺不一定對,但我把eof和bof畫了一張表,大家多多提出自己看法,看看如何改進會更利於理解。

這張圖的地位:可別小看這張圖和這兩個詞。這可是簡約而不簡單的。這裡涉及到recordset物件記錄集,資料庫中包含表,表中包含資料,而這些資料就位於這個記錄集recordset物件中,bof和eof是對這個表中資料的操作時用的,這個過程中肯定會鍛鍊你的思維和想象能力,所以不容小視這幾個概念的理解。

bof(before of file)指示當前記錄位置位於 recordset 物件的第乙個記錄之前。

eof(end of file) 指示當前記錄位置位於 recordset 物件的最後乙個記錄之後。

1:如果當前記錄位於第乙個記錄之前,bof 屬性將返回 true (-1),如果當前記錄為第乙個記錄或位於其後則將返回 false (0)。

2:如果當前記錄位於 recordset 物件的最後乙個記錄之後 eof 屬性將返回 true,而當前記錄為 recordset 物件的最後乙個記錄或位於其前,則將返回 false。

3:如果 bof 或 eof 屬性為 true,則沒有當前記錄。

4:如果開啟沒有記錄的 recordset 物件,bof 和 eof 屬性將設定為 true,而 recordset 物件的 recordcount屬性設定為零。開啟至少包含一條記錄的 recordset 物件時,第一條記錄為當前記錄,而 bof 和 eof 屬性為 false。

5:如果刪除 recordset 物件中保留的最後記錄,bof 和 eof 屬性將保持 false,直到重新安排當前記錄。

當然,只是文字和還是有些突兀,有些例子說明就更好了。那就舉我前些天完成的學生資訊管理系統來說吧!這些**看似簡單,但實質不然,細細的分析並總結過後就會發現很對細節的問題,隨便拿出乙個來就夠你研究半天。積累階段應該做些嘗試……就比方這段**。

private sub deletecommand_click()

mybookmark = mrc.bookmark '將資料庫的記錄賦值給空記錄,做標記

str2$ = msgbox("是否刪除當前紀錄?", vbokcancel, "刪除當前記錄")

if str2$ = vbok then '如果選擇刪除記錄

mrc.movenext '只要有記錄集資料庫會一直向下移動(這是大前提)

if mrc.eof then '第一種情況:如果已經執行到完整個記錄集,要刪除最後一條記錄

mrc.movefirst '則指向剛開始的記錄(做個標記)

mybookmark = mrc.bookmark

mrc.movelast '返回最後乙個記錄

mrc.delete '實行刪除操作

mrc.bookmark = mybookmark '找到剛才的標記

call viewdata

else

mybookmark = mrcbookmark '第二種情況:刪除除最後一條以外的其他記錄(還是先賦值做標記)

mrc.moveprevious '向最後一條記錄以上的記錄移動

mrc.delete '刪除

mrc.bookmark = mybookmark '找到剛才的標記

call viewdata

end if

else

mrc.bookmark = mybookmark '如果選擇不刪除記錄按鈕,同樣要做標記,只是找到開始標記處

call viewdata

end if

end sub

刪除最後一條記錄舉例:我要刪除連海、男最後一條記錄,指標的操作是,首先往下執行也就是mrc.movenext ,然後找到最後一條記錄張連海、男。接下來要刪除了,那麼此時不是直接刪除,而是返回到第一條記錄,也就是白雲、女那條記錄,先做個標記,確保我刪除最後一條連海、男後能順藤摸瓜返回來。在已經做好標記的情況下,返回最後一條記錄然後順利刪除這個資訊。這裡刪除最後一條連海這條記錄後,後面沒有記錄了,所以必須做標記……

刪除除最後一條記錄以外記錄舉例:我要刪除黑土,那麼這個比較簡單,直接指向黑土並做在前面標記,直接刪除就行。因為刪了黑土還有張三或者白雲記錄……

這個刪除記錄的過程實質就是漫遊森林的乙個過程,茫茫森林,必須要做個標記才不至於迷路;也可以想象成指明燈……

這就是我對bof和eof的理解,我覺得雖然是有些理解了,但是可能還是有錯誤。請大家多提寶貴建議,多多交流……

指南針 司南

指南針 司南 指南針在中華文明圈遠未如西方那樣產生巨大作用,西方也普遍認為發源於華夏並無太多異議。指南針最早形式稱司南,東漢王充 公元27 約97 論衡 卷十七是應篇第五十二 司南之杓,投之於地,其柢指南 原理他只能說 亦天性也 這個記載雖不是最早,但是最早表述清楚的乙個。司南有指向之用應無異議,具...

指南針開發(備忘)

1 許可權 無 2 布局 android id id image android layout width 250dp android layout height 250dp android layout centerinparent true android background drawable...

指南針的實現

1 在 res drawable 目錄下放入指南針的 2 main.xml 3 mainactivity package com.njupt.sensor import android.hardware.sensor import android.hardware.sensorevent impor...