ODBC 為通用性犧牲效能且無法發揮資料庫特有功能。MySQL 提供 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() 最核心。封裝 MySQL 專用操作,含連線、選庫、鎖表/解鎖、增刪改查、錯誤輸出等方法。私有成員持有 MYSQL、MYSQL_RES*、MYSQL_ROW、MYSQL_FIELD*。建構子呼叫 mysql_init(),解構子釋放結果集並 mysql_close()。
CDatabase 物件 → 自動建構初始化。ConnectDB() 傳入 Database_Param(主機、用戶、密碼、資料庫、連接埠、Socket、旗標)連線。LockTable() 鎖定資料表(支援多執行緒)。InsertRecord()、SelectRecord()、UpdateRecord()、DelRecord() 等,參數以 Data_Param 結構傳遞。UnLockTable() 解鎖。編譯提醒: 必須連結 libmysql.lib。