VS2010 MFC +mySQL 连接,添加,查询,删除

1.mySQL安装

直接放安装教程:链接

2. 工具: Navicat for MySQL

链接: https://pan.baidu.com/s/11ClSdrsDQtWQ2HNCFzd8tQ

提取码: 7avh 

安装步骤以及破解:

VS2010 MFC +mySQL 连接,添加,查询,删除_第1张图片

安装直接点下一步 就可以....

破解:点击破解软件选择,下图箭头指示 就可以 破解完成....

VS2010 MFC +mySQL 连接,添加,查询,删除_第2张图片

3.表格建立

打开连接-->新建数据库(mytest)-->建立表格-->字段(id,name,salary)(都是varchar型)

VS2010 MFC +mySQL 连接,添加,查询,删除_第3张图片 VS2010 MFC +mySQL 连接,添加,查询,删除_第4张图片VS2010 MFC +mySQL 连接,添加,查询,删除_第5张图片

 4.MFC配置--四步配置

a. 配置位数应该与下载的mysql位数相对应,本人用的是x64位。

b.包含目录--------Mysql 安装目录 include的位置

库目录---Mysql 安装目录 lib 的位置

c. 链接器---输入--附加依赖项 添加 libmysql.lib

d.把Mysql 安装目录 include中mysql.h拷贝到项目同名文件夹中

把Mysql 安装目录 lib 中libmysql.dll,libmysql.lib 拷贝到项目同名文件夹中

VS2010 MFC +mySQL 连接,添加,查询,删除_第6张图片

VS2010 MFC +mySQL 连接,添加,查询,删除_第7张图片

5. 项目代码

a.在头文件中添加

#include "winsock2.h"  
#include "mysql.h" 

b.添加数据结构

MYSQL mysqlCon;//数据库结构

c.数据库连接

BOOL CmyTestSqlDlg::ConnectDB()
{
	mysql_init(&mysqlCon);
    //mysqlCon 数据库结构 localhost 主机名 root 用户名 "" 密码为空 mytest 数据库 3306 端口
	if (!mysql_real_connect(&mysqlCon,"localhost","root","","mytest",3306,NULL,0))
	{
		AfxMessageBox(_T("访问数据库失败!"));
		return FALSE;
	}
	else
	{
		AfxMessageBox(_T("成功连接数据库!"));
		// 设置字符集, 使程序支持中文。
		mysql_query(&mysqlCon, "SET NAMES 'GB2312'");//解决从数据库中读取数据后汉字乱码显示的问题 
		
	} 
	return TRUE;
}

d.数据添加

	UpdateData(TRUE);
	CString m_id ,m_name,m_salary ;
	GetDlgItemText(IDC_EDIT1,m_id);
	GetDlgItemText(IDC_EDIT2,m_name);
	GetDlgItemText(IDC_EDIT3,m_salary);
	//MYSQL mysqlCon;
	// 创建 SQL 语句字符串
	CString sql_insert;
	sql_insert.Format(_T("insert into mytest.tw values('%s','%s','%s');"), m_id, m_name, m_salary);
	USES_CONVERSION;
	LPCSTR lpstr = (LPCSTR)T2A(sql_insert);
	int ress = mysql_query(&mysqlCon, lpstr);
	if(ress==0)
	{   
		AfxMessageBox(_T("添加成功!") ); 
	}else{
		AfxMessageBox(_T("添加失败!"));
	}
	// 关闭 local_mysql 所关联的数据库连接, 一般情况下不用写。

	mysql_close(&mysqlCon);
	UpdateData(FALSE);

e.数据删除

        CString m_id ;
	GetDlgItemText(IDC_EDIT1,m_id);
	CString strSQL;
	strSQL.Format(_T("delete from tw where id = '%s';"), m_id);
	try
	{
		USES_CONVERSION;
		LPCSTR lpstr = (LPCSTR)T2A(strSQL);
		int ress = mysql_query(&mysqlCon, lpstr);
		if (ress == 0)
		{
			MessageBox(_T("删除成功"));
		}
		else
		{
			MessageBox(_T("删除失败"));
		}
	}
	catch (_com_error *e)
	{
		MessageBox(e->ErrorMessage());
		return;
	}

f.数据更新

	CString m_id ,m_name,m_salary ;
	GetDlgItemText(IDC_EDIT1,m_id);
	GetDlgItemText(IDC_EDIT2,m_name);
	GetDlgItemText(IDC_EDIT3,m_salary);
	//MYSQL mysqlCon;
	// 创建 SQL 语句字符串
	CString sql_insert;
	sql_insert.Format(_T("UPDATE tw SET name ='%s' WHERE id = '%s';"),m_name,m_id);
	USES_CONVERSION;
	LPCSTR lpstr = (LPCSTR)T2A(sql_insert);
	int ress = mysql_query(&mysqlCon, lpstr);
	if (ress == 0)
	{
		MessageBox(_T("修改成功"));
	}
	else
	{
		MessageBox(_T("修改失败"));
	}

如有错误,请联系qq:1657250854

你可能感兴趣的:(Visual,Studio)