首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

DAO 存取 Access 資料庫實作:單字查詢工具與按鈕美化技巧

     編輯:關於VC++

專案概覽

早期學習資料庫開發時撰寫的單字查詢小工具,採用 DAO (Data Access Objects) 存取 Access (.mdb) 資料庫,實作基本的增刪改查、書籤導航、模糊搜尋與介面美化。介面包含工具列圖示按鈕、資料瀏覽區與狀態列。

關鍵技術點

1. CButtonStyle 圖示按鈕批次初始化

利用免費類別庫 CButtonStyle 實現圖示按鈕。為縮減程式碼,採用迴圈批次關聯控制項 ID 與圖示資源 ID(需手動調整 Resource.h 使 ID 連續):

// IDC_JUMP ~ IDC_LISTITEM 為連續按鈕控制項 ID
// IDI_JUMP ~ ... 為對應圖示資源 ID
for (int nIco = IDI_JUMP, nBtn = IDC_JUMP; nBtn >= IDC_LISTITEM; nIco--, nBtn--)
{
    CButtonStyle* pBtn = ButtonList.RemoveTail();
    pBtn->SubclassDlgItem(nBtn, this);
    pBtn->SetIcon(nIco);
    pBtn->SetInactiveBgColor();
    pBtn->SetInactiveFgColor();
    pBtn->SetActiveBgColor();
}

2. DAO 例外處理與記錄指標修正

捕捉 CDaoException 後,為避免記錄集指標停留在錯誤記錄導致後續操作失敗,採用「向後再向前」移動指標歸位:

try
{
    // DAO 操作...
}
catch (CDaoException* e)
{
    // 修正記錄集指標位置
    m_pSet->MoveNext();
    m_pSet->MovePrev();
    e->Delete();
    return;
}

3. 導航與書籤功能對照表

按鈕功能說明
POS1跳轉至上次退出時瀏覽的單字(書籤機制)
POS2動態跳轉至指定單字(需存在,否則提示)
首筆移至資料庫第一筆記錄
上一筆顯示上一筆單字資訊
下一筆顯示下一筆單字資訊
末筆移至資料庫最後一筆記錄

4. 模糊搜尋(列舉功能)

支援依前綴/後綴/片段搜尋單字。輸入單一字母時不區分大小寫,顯示所有該字母開頭的單字;輸入完整詞綴則精確比對。核心邏輯為 SQL LIKE 'prefix%' 或 LIKE '%suffix' 搭配 DAO Recordset::FindFirst 實現。

執行畫面

主介面

搜尋結果

原始碼下載

完整專案原始碼已打包,包含 DAO 連線封裝、按鈕樣式類別與資料庫範例檔。適合初學者參考 DAO 基礎操作與 MFC 介面美化技巧。

本文配套源碼

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