打開Navicat for MySql軟件, 新建一個數據庫 learnMySQL,在數據庫中新建一張表格stuInf,這個表格包括三列: id, name, stuID,gene,id 數據類型爲int,其他都是 varchar, 長度都是255 。如圖:
1.數據庫服務器的連接設置
2.新建數據庫,新建一個表,屬性設置如下,然後保存
3.新建一個 MFC 的基於對話框的項目。項目名稱爲:learnMySQL,界面效果如下圖:
IDD_LEARNMYSQL_DIALOG界面爲項目的主界面。
IDD_Login界面爲登錄界面。
IDD_Ch_Add爲向數據庫中增加數據的界面,具體效果如右邊。包括id,姓名,性別,學號。
按鍵【確定】的作用是: 將用戶在文本框中輸入的id,姓名,性別,學號上傳到數據庫learnMySQL中的表格stuInf中。
按鍵【取消】的作用是: 直接回到IDD_LEARNMYSQL_DIALOG界面。
4.每個文本編輯框的關聯變量名如下
5.在這個界面的頭文件中包含數據庫的頭文件
#include "mysql.h"
6.在【確定】按鈕的響應函數中添加如下代碼
UpdateData(TRUE);
int local_id = m_Add_id;
CString local_name = m_Add_name;
CString local_stuID = m_Add_stuID;
CString local_gene = m_Add_gene;
// 創建 MYSQL 對象。
MYSQL local_mysql;
// 初始化 MYSQL 對象。
mysql_init(&local_mysql);
// 連接數據庫
if(!mysql_real_connect(&local_mysql,"localhost","root","root","learnmysql",3306,NULL,0))
{
AfxMessageBox(_T("connect to database failed!"));
}
else
{
AfxMessageBox(_T("connect to database success!"));
// 設置字符集, 使程序支持中文。
mysql_query(&local_mysql, "set names 'gb2312'");
}
// 創建 SQL 語句字符串
CString sql_insert;
sql_insert.Format("insert into stuInf(id, name, stuID, gene) values (%d, \"%s\", \"%s\",\"%s\")", local_id, local_name, local_stuID, local_gene);
// 執行 sql 語句。
// mysql_query() 的返回值份很多情形, 進行判斷使要注意。
if(mysql_query(&local_mysql,(char*)(LPCTSTR)sql_insert)==0)
{
AfxMessageBox("insert succeed!");
}
else
{
AfxMessageBox("insert failed!");
}
// 關閉 local_mysql 所關聯的數據庫連接, 一般情況下不用寫。
mysql_close(&local_mysql);
7.效果如下:
工程文件鏈接:VS2010 MFC在數據庫MySQL中插入數據
下一篇: