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

VC++ 使用 DB-Library 存取 SQL Server (二):DLL 版封裝與 UML 設計

     編輯:關於VC++

前言:從單體類別到 DLL 元件

基於讀者回饋,將原 DBLibrary 類別重構為動態連結庫 (dblib.dll),細分職責,修正錯誤處理與空值異常,版本升為 V2.0.1 Beta。

一、類別架構拆分

類別職責
CDBError錯誤處理基類,所有類別繼承此類
CDBSession連線會話管理 (登入/登出、資料庫切換)
CDBStatementSQL 陳述式執行、結果集處理,關聯 CDBSession
CDBTable結果集多次迭代、資料列存取,適應複雜遍歷需求
CColumn資料欄定義 (名稱、型別、長度等)
CBatchCopy大量複製 (BCP) — 尚未完成
CDBStoreProc無結果集預存程序執行 — 尚未完成;有結果集者用 CDBStatement::Open

二、支援資料型別

char、varchar、nchar、int、bit、decimal、numeric、money、float、smallint、smallmoney、real、text、tinyint、datetime、nvarchar、smalldatetime。未列出者暫不支援。

三、UML 模型圖說

  • 用例圖:展示使用者對資料庫操作的功能需求。
  • 類別圖:呈現上述七類別繼承、關聯、聚合關係。
  • 時序圖 (CDBStatement):SQL 執行 → 綁定參數 → 取得結果 → 逐列讀取的互動流程。
  • 時序圖 (CDBTable):從 Statement 取得結果 → 快取至 Table → 多次游標移動/欄位存取。

圖片見原文附件。

四、專案檔案結構

  • dblib.rar:完整原始碼 (含 DLL 專案與測試專案)。
  • createDemo.sql:建立示範資料庫腳本。
  • insertvalue.sql:初始化測試資料腳本。

修改腳本中資料庫檔案路徑即可直接執行。已在 Win2000 + SQL Server 2000 + VC++ 6.0 除錯通過。

五、使用前提

必須安裝 SQL Server 用戶端開發工具 (自訂安裝 →「開發工具」→「標頭檔與程式庫」)。初次使用者請參考 VCKBASE 第 30 期「VC++中使用 DB-Library 編程 (一)」。

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