我們在利用ASP程序進行分頁的時候,特別是在用到統(tǒng)計記錄總數(shù)的屬性rs.recordcount時,有時結(jié)果會出現(xiàn)-1,為什么會出現(xiàn)這種情呢?看看下面兩種情況:
這樣就沒問題rs.open sqlstr,conn,3,2
這樣就有問題rs.open sqlstr,conn,1,2
為什么呢?因為是rs的游標類型問題
因為conn后第一個數(shù)字是1表示指針只能往前,3表示自由指針
使用RecordCount屬性可確定Recordset對象中記錄的數(shù)目。ADO無法確定記錄數(shù)時,或者如果提供者或游標類型不支持RecordCount,則該屬性返回–1。讀已關閉的Recordset上的RecordCount屬性將產(chǎn)生錯誤。
如果Recordset對象支持近似定位或書簽(即Supports(adApproxPosition)或Supports(adBookmark)各自返回True),不管是否完全填充該值,該值將為Recordset中記錄的精確數(shù)目。如果Recordset對象不支持近似定位,該屬性可能由于必須對所有記錄進行檢索和計數(shù)以返回精確RecordCount值而嚴重消耗資源。
Recordset對象的游標類型會影響是否能夠確定記錄的數(shù)目。對僅向前游標,RecordCount屬性將返回-1,對靜態(tài)或鍵集游標返回實際計數(shù),對動態(tài)游標取決于數(shù)據(jù)源返回-1或?qū)嶋H計數(shù)。
文章來自: ASP技術網(wǎng)站(www.aspjs.net) 詳文參考:http://www.aspjs.net/aspjs1html/ASPjiaocheng/ASPjishuziliao/469.html