CDatabase:資料源連線管理。CRecordset:記錄集封裝,支援快照/動態/只進游標。CRecordView:將記錄集綁定到對話框/視圖控制項的表單視圖。CRecordset::Open() 時傳入的 SQL 若無 ORDER BY,資料庫回傳順序不確定(通常按主鍵/插入順序)。CRecordset::snapshot (靜態快照) — 開啟時固定順序。CRecordset::dynaset (動態) — 可見他人插入/刪除,順序可能變動。CRecordset::dynamic — 完整動態,效能最低。m_strSort、m_strFilter 在 Open() 前設定,會追加到 SQL。// 方法 1:SQL 直接 LIMIT/OFFSET (SQL Server 2012+)
CRecordset rs(&db);
rs.Open(CRecordset::snapshot, _T("SELECT * FROM MyTable ORDER BY ID OFFSET 2 ROWS FETCH NEXT 1 ROWS ONLY"));
// 方法 2:開啟完整集合再 Move
rs.Open(CRecordset::snapshot, _T("SELECT * FROM MyTable ORDER BY ID"));
rs.Move(2); // 移動到第 3 筆 (0-based)
// 此時 rs 當前記錄即為第 3 筆,綁定到 View 顯示的就是它
完整 MFC ODBC 程式設計指南:MFC ODBC 數據庫編程