bof( ) 函式

BOF() 函式是用於檢測資料庫表記錄指針位置的函式,主要套用於Visual FoxPro環境中。其功能為判斷當前或指定工作區中表的記錄指針是否處於檔案起始位置(表頭)。當指針移動到首條記錄之前時,該函式返回邏輯值“真”(.T.),否則返回“假”(.F.)。

該函式可通過參數(工作區號)或(表別名)指定非當前工作區中的表。若目標表未在指定工作區打開,返回值為假。在資料庫操作中,常與記錄導航命令(如SKIP)配合使用,用於檢測指針越界情況。典型套用場景包括數據遍歷時的邊界控制,例如示例中通過界面按鈕移動指針時,結合EOF()函式判斷記錄範圍,防止非法訪問並自動重置指針位置。

基本介紹

  • 外文名:bof( ) 函式
  • 作用:確定當前記錄指針是否在表頭
  • 參數:nWorkArea,cTableAlias
含義,參數,說明,示例,

含義

確定當前記錄指針是否在表頭。

參數

nWorkArea
指定在非當前工作區中打開的表所在的工作區號。
cTableAlias
指定在非當前工作區中打開的表別名。
如果表是在非當前選定工作區中打開的,那么使用這些可選的參數為表指定別名或所在的工作區號。若此表未在指定的工作區中打開,則 BOF( ) 返回“假”(.F.)。

說明

bof( ) 函式可以用來測試一個表的記錄指針是否位於檔案頭。如果用戶嘗試將記錄指針移動到表的第一條記錄之前,則 BOF( ) 返回“真” (.T.)。

示例

下面的示例打開 customer 表並顯示一個視窗,使用命令按鈕可以向前或向後移動表的記錄指針,根據記錄指針移動的方向,visual foxpro 測試該指針是在檔案末尾 (eof) 還是在檔案頭 (bof)。如果任一條件為“真”(.t.),visual fexpro 顯示正確的內容,並移動記錄指針到一個新的位置。
close databases
open database (home( ) + 'samples\data\testdata')
use customer && 打開 customer 表
set talk off
clear
activate screen
@ 2,1 say 'company: '+ company
define window wskip from 9,10 to 14,65 double color scheme 5
activate window wskip
@ 1,5 get gnchoice function '*hn \<forward;\<backward;\<quit' ;
default 0 size 2,14 valid choice( )
read cycle
release window wskip
procedure choice
do case
case gnchoice = 1
skip
if eof('customer')
wait window 'end of file encountered' nowait
skip -1
endif
case gnchoice = 2
skip -1
if bof('customer')
wait window 'beginning of file encountered' nowait
go top
endif
case gnchoice = 3
clear read
endcase
activate screen
@ 2,1 clear to 2,50
@ 2,1 say 'company: '+ company
return .t.

相關詞條

熱門詞條

聯絡我們