打开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中插入数据
下一篇: