基於讀者回饋,將原 DBLibrary 類別重構為動態連結庫 (dblib.dll),細分職責,修正錯誤處理與空值異常,版本升為 V2.0.1 Beta。
| 類別 | 職責 |
|---|---|
| CDBError | 錯誤處理基類,所有類別繼承此類 |
| CDBSession | 連線會話管理 (登入/登出、資料庫切換) |
| CDBStatement | SQL 陳述式執行、結果集處理,關聯 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。未列出者暫不支援。
圖片見原文附件。
dblib.rar:完整原始碼 (含 DLL 專案與測試專案)。createDemo.sql:建立示範資料庫腳本。insertvalue.sql:初始化測試資料腳本。修改腳本中資料庫檔案路徑即可直接執行。已在 Win2000 + SQL Server 2000 + VC++ 6.0 除錯通過。
必須安裝 SQL Server 用戶端開發工具 (自訂安裝 →「開發工具」→「標頭檔與程式庫」)。初次使用者請參考 VCKBASE 第 30 期「VC++中使用 DB-Library 編程 (一)」。