首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 資料庫介面的 VC 實現與應用 (二) - C API 封裝類 CDatabase

     編輯:MySQL 資料庫相關知識

為何需要 C API

ODBC 為通用性犧牲效能且無法發揮資料庫特有功能。MySQL 提供 C API 直接操作資料庫,顯著提升效能,代價是失去跨資料庫可攜性。

C API 核心資料類型與函數

  • 類型:MYSQL(連線控制代碼)、MYSQL_RES(結果集)、MYSQL_ROW(列)、MYSQL_FIELD(欄位資訊)、my_ulonglong(無符號長整數)。
  • 關鍵函數:mysql_init()、mysql_real_connect()、mysql_query()、mysql_store_result()、mysql_close() 等,mysql_query() 最核心。

CDatabase 類別設計

封裝 MySQL 專用操作,含連線、選庫、鎖表/解鎖、增刪改查、錯誤輸出等方法。私有成員持有 MYSQL、MYSQL_RES*、MYSQL_ROW、MYSQL_FIELD*。建構子呼叫 mysql_init(),解構子釋放結果集並 mysql_close()。

VC 中使用流程

  1. 定義 CDatabase 物件 → 自動建構初始化。
  2. 呼叫 ConnectDB() 傳入 Database_Param(主機、用戶、密碼、資料庫、連接埠、Socket、旗標)連線。
  3. 呼叫 LockTable() 鎖定資料表(支援多執行緒)。
  4. 依需求呼叫 InsertRecord()、SelectRecord()、UpdateRecord()、DelRecord() 等,參數以 Data_Param 結構傳遞。
  5. 呼叫 UnLockTable() 解鎖。
  6. 物件離開作用域 → 解構子自動關閉連線釋放資源。

編譯提醒: 必須連結 libmysql.lib。

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