MFC对MYSQL数据库相关操作_MySQL

php中文网
发布: 2016-06-01 13:01:05
原创
1366人浏览过

记得看过有人说,现在的软件基本上都是连着数据库的,如果一个软件没有跟数据库相连,基本没什么作用。虽然这种说法略显片面,但数据库之于软件的重要也是毋庸置疑的。

MFC连接数据库应该不算是什么新鲜的命题了,方法是有好几种的,本人试了下,感觉利用MySQL提供的C语言API来进行操作蛮方便的,所以在此记录下相关的操作。

要用MySQL提供的C语言API,首先要包含API的头文件目录,也就是在MFC工程属性中的“包含目录”下添加MySQL安装目录的“include”文件夹。因为API是以动态链接库的形式打包的,所以还要在MFC工程属性中的“库目录”下添加MySQL安装目录的“lib”文件夹,结果如下图所示:

\

因为是动态链接库,所以在做完上面的配置后,要将MySQL安装目录下的libmysql.dll文件拷贝到MFC工程目录下,如果以后要发行的话这个也要打包进去。昨晚这一步,我们只需要在用到MySQL的头文件中包含MySQL头文件就可以正常使用此数据库了。代码如下:

 

#include "winsock.h"//因为数据库是通过网络连接的,必须包含网络相关头文件
#include "mysql.h"//这个没什么好说的,mysql头文件自然要包含  
#pragma comment(lib,"libmySQL.lib")//附加依赖项,也可以在工程属性中设置
登录后复制

做完上面的配置,我们已经可以正常的使用MySQL提供的API了,下面分门别类的来讲讲具体的操作。

 

连接数据库:

YFCMS企业网站管理系统EXT4.0
YFCMS企业网站管理系统EXT4.0

功能介绍:后台功能介绍1.系统管理:(1)基本信息管理包括网站名称,域名,管理员昵称,联系电话,邮箱和网站关键字等等的设置。(2) 密码修改 系统管理员密码修改(3)后台登陆记录查看2.新闻管理:(1)新闻管理包括新闻的修改删除(2)添加新闻可添加文字新闻和图片新闻,采用EWEB编辑器操作简便(3)新闻分类管理可自由的添加和删除新闻分类3.产品管理:(1)管理产品可对数据库现有进行修改和删除(2)

YFCMS企业网站管理系统EXT4.0 0
查看详情 YFCMS企业网站管理系统EXT4.0

 

MYSQL m_sqlCon;
mysql_init(&m_sqlCon);//初始化数据库对象
if (!mysql_real_connect(&m_sqlCon, "localhost", "root", "123", "test", 3306, NULL, 0))//localhost:服务器地址,可以直接填入IP;root:账号;123:密码;test:数据库名;3306:网络端口  
{
	AfxMessageBox(_T("数据库连接失败!"));
	return;
}
else//连接成功则继续访问数据库,之后的相关操作代码基本是放在这里面的
{
	AfxMessageBox(_T("数据库连接成功!"));
}
mysql_close(&m_sqlCon);//关闭Mysql连接  
登录后复制

 

得到数据库中表数据:

 

mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//设置数据库字符格式,解决中文乱码问题
if (mysql_real_query(&m_sqlCon, "select * from 物料属性", (unsigned long)strlen("select * from 物料属性")))// 查询数据库中的"物料属性"表  
{return;}
res = mysql_store_result(&m_sqlCon);//得到存储结果集  
if (NULL == res)//如果为空则返回
{ return; }
int listrow = 0;
while (row = mysql_fetch_row(res))//重复读取行,把数据放入列表中,直到row为NULL  
{
	for (int rols = 0; rols < cols; rols++)
	{
		CString myreaddata(row[rols]);
		if (rols==0)
		{
			list->InsertItem(listrow, myreaddata);//添加第一个学生数据
		}
		else
		{
			list->SetItemText(listrow, rols, myreaddata);
		}
	}
	listrow++;
}
登录后复制
清空数据表内容:
mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//设置数据库字符格式,解决中文乱码问题
char *mysqlstatements = "DELETE 物料属性.*FROM 物料属性";//sql操作语句
mysql_real_query(&m_sqlCon, mysqlstatements, (unsigned long)strlen(mysqlstatements));//清空"物料属性"表  
登录后复制

插入数据表内容:

 

sprintf_s(mysqlstatements, "INSERT INTO 物料属性(物料编号,物料名称,所属类别,计量单位,样品单价,批量单价) value('%s', '%s', '%s', '%s', '%s', '%s')",
	mysqlinsertpoint[0], mysqlinsertpoint[1], mysqlinsertpoint[2], mysqlinsertpoint[3], mysqlinsertpoint[4], mysqlinsertpoint[5]); //sql操作语句
mysql_real_query(&m_sqlCon, mysqlstatements, (unsigned long)strlen(mysqlstatements));//插入数据到"物料属性"表
登录后复制

 

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号