首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MFC ODBC 記錄集首筆記錄對應邏輯與修改方法

     編輯:程式設計綜合問答

MFC ODBC 核心類別

  • CDatabase:資料源連線管理。
  • CRecordset:記錄集封裝,支援快照/動態/只進游標。
  • CRecordView:將記錄集綁定到對話框/視圖控制項的表單視圖。

首筆記錄決定因素

  1. SQL 查詢 ORDER BY:CRecordset::Open() 時傳入的 SQL 若無 ORDER BY,資料庫回傳順序不確定(通常按主鍵/插入順序)。
  2. 游標類型:
    CRecordset::snapshot (靜態快照) — 開啟時固定順序。
    CRecordset::dynaset (動態) — 可見他人插入/刪除,順序可能變動。
    CRecordset::dynamic — 完整動態,效能最低。
  3. 篩選/排序屬性:m_strSort、m_strFilter 在 Open() 前設定,會追加到 SQL。

修改首筆對應到第 3 筆資料

// 方法 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 數據庫編程

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved