首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

VC++ 6.0 連接 MySQL 完整實戰:安裝、配置與 CRUD 代碼

     編輯:MySQL 綜合教學

Visual C++ 6.0 操作 MySQL 5.0 完整開發指南

從 MySQL 完全安裝(含頭文件/庫)、VC++ 目錄配置、專案屬性設定、資料庫/建表指令,到完整的 C++ 封裝類實現增刪改查與列表顯示。

環境準備

  1. MySQL 安裝:選「完全安裝」以包含 include/、lib/、libmysql.lib、libmysql.dll
  2. VC++ 目錄配置(Tools → Options → Directories):
    • Include files:D:\Program Files\MySQL\MySQL Server 5.0\include
    • Library files:D:\Program Files\MySQL\MySQL Server 5.0\lib\debug
  3. 專案設定(Project → Settings → Link):Object/library modules 加入 libmysql.lib
  4. 預編譯頭加入(stdafx.h):
    #include <mysql.h>
    #include <winsock.h>
    #pragma comment(lib, "libmysql.lib")
  5. 複製運行庫:libmysql.lib、libmysql.dll 放至專案目錄或系統路徑

資料庫與建表

mysql> CREATE DATABASE mydb;
mysql> USE mydb;
mysql> CREATE TABLE mytable (
    username VARCHAR(100),
    visitelist VARCHAR(200),
    remark VARCHAR(200)
);

核心 C++ 代碼片段

MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql, "localhost", "root", "", "mydb", 3306, NULL, 0)) {
    AfxMessageBox(_T("資料庫連接失敗"));
    return FALSE;
}

// 1. 新增
CString strSQL;
strSQL.Format(_T("INSERT INTO mytable(username,visitelist,remark) VALUES ('%s','%s','%s')"),
              strUsername, strList, strRemark);
if (mysql_real_query(&mysql, (LPCTSTR)strSQL, strSQL.GetLength()) != 0)
    AfxMessageBox(_T("新增失敗"));

// 2. 修改
strSQL.Format(_T("UPDATE mytable SET username='%s',visitelist='%s',remark='%s' WHERE username='%s'"),
              strUsername, strList, strRemark, str_PreName);
if (mysql_real_query(&mysql, (LPCTSTR)strSQL, strSQL.GetLength()) != 0)
    AfxMessageBox(_T("修改失敗"));

// 3. 刪除
strSQL.Format(_T("DELETE FROM mytable WHERE username='%s'"), str_PreName);
if (mysql_real_query(&mysql, (LPCTSTR)strSQL, strSQL.GetLength()) != 0)
    AfxMessageBox(_T("刪除失敗"));

// 4. 查詢填充 CListCtrl
mysql_real_query(&mysql, "SELECT * FROM mytable", strlen("SELECT * FROM mytable"));
MYSQL_RES *res = mysql_use_result(&mysql);
MYSQL_ROW row;
int i = 0;
while (row = mysql_fetch_row(res)) {
    m_list.InsertItem(i, row[0]);
    m_list.SetItemText(i, 1, row[1]);
    m_list.SetItemText(i, 2, row[2]);
    i++;
}
mysql_free_result(res);

// 5. 關閉連線(建議放在 OnDestroy)
mysql_close(&mysql);

關鍵提醒

  • SQL 字串中單引號需成對,CString Format 參數順序務必對應
  • 編譯時若報「無法解析外部符號」,檢查 Library 目錄與 libmysql.lib 連結
  • 執行時若報「找不到 libmysql.dll」,確認 DLL 放置路徑在 PATH 環境變數中

掌握 VC++ 6.0 與 MySQL 整合全流程,快速構建桌面資料庫應用。

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