ADO Recordset 判斷記錄是否為空

2021-05-26 16:45:59 字數 2312 閱讀 9708

_recordsetptr getuser;

getuser.createinstance("adodb.recordset");

getuser->open(user.getbuffer(), //查詢語句

_variant_t((idispatch*)m_db), //資料庫

adopendynamic,

adlockoptimistic,

adcmdtext);

if(getuser.bof && getuser.eof)

以下是幫助文件上面的內容

返回值

bofeof屬性返回boolean值。

說明

使用bofeof屬性確定recordset物件是否包含記錄,或者從乙個記錄移動到另乙個記錄時是否超出recordset物件的限制。

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

如果當前記錄位於最後乙個記錄之後,則eof屬性返回true。如果當前記錄是最後乙個記錄或位於最後乙個記錄之前,則返回false

如果bofeof屬性為true,則沒有當前記錄。

如果開啟不包含記錄的recordset物件,則bofeof屬性被設定為truerecordset物件的 recordcount 屬性設定為零。當開啟至少包含乙個記錄的recordset物件時,第乙個記錄是當前記錄,並且bofeof屬性均為false

如果刪除recordset物件中保留的最後乙個記錄,bofeof屬性將保持false,直到重新定位當前記錄為止。

下表說明對bofeof屬性的不同組合所允許的move方法。

movefirst

movelast

moveprevious

move < 0

move 0

movenext

move > 0

bof=true

eof=false允許

錯誤錯誤

允許bof=false

eof=true允許

允許錯誤

錯誤均為true錯誤

錯誤錯誤

錯誤均為false允許

允許允許允許

允許使用move方法但不能保證該方法可成功定位記錄,只表明呼叫指定的move方法不會產生錯誤。

下表顯示當呼叫多個move方法但未能成功定位記錄時,bofeof屬性設定所發生的情況。

bofeof

movefirst, movelast設定為true設定為true

move0

沒有變化

沒有變化

moveprevious, move< 0

設定為true沒有變化

movenext, move> 0

沒有變化

設定為true

瑣記4 判斷回文

編寫乙個能判斷一字串是否為回文的程式,回文即 asdfghjhgfdsa 這樣的字串 int fun char p pend while pstart pend return 1 首先判斷是否出錯,出錯返回 1,然後定義2個指標分別指向字串的頭和尾,設定乙個迴圈來判斷它前後2個字元是否相同,一旦有不...

記使用Linux中的 進行條件判斷的坑

今天早上看 鳥哥的linux私房菜 中shell指令碼編寫章節下的13.3.2 利用判斷符號一節後,按照鳥哥的示例編寫了乙個簡單的指令碼如下 bin bash path bin usr bin usr sbin usr local bin usr local sbin bin export path...

記 判斷字串中空格字元的個數

描述 輸入一行可能帶空格的字串,輸入其中空格字元的數量。輸入只有一組案例,一行可能帶空格的字串s。輸出乙個正整數,表示字串s裡空格字元的數量。不要換行。樣例輸入 abc xyz 樣例輸出 1法一 string include include using namespace std intmain c...