MFC对MYSQL数据库操作
来源:互联网 发布:网易股票分时数据 编辑:程序博客网 时间:2024/05/01 13:56
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了,下面分门别类的来讲讲具体的操作。
连接数据库:
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连接
得到数据库中表数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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++;
}
清空数据表内容:
插入数据表内容:
1
2
3
mysql_query(&m_sqlCon,
"SET NAMES 'GB2312'"
);//设置数据库字符格式,解决中文乱码问题
char
*mysqlstatements =
"DELETE 物料属性.*FROM 物料属性"
;//sql操作语句
mysql_real_query(&m_sqlCon, mysqlstatements, (unsigned long)strlen(mysqlstatements));//清空
"物料属性"
表
插入数据表内容:
1
2
3
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));//插入数据到
"物料属性"
表
0 0
- MFC对MYSQL数据库操作
- MFC 对MYSQL数据库相关操作
- MFC对MYSQL数据库相关操作
- MFC操作MySQL数据库注意事项
- MFC的CRECORDSET对数据库的操作 .
- php对mysql数据库操作
- JdbcTemplate 对mysql数据库操作
- VS2013 MFC中操作MySQL数据库
- 数据库操作:MFC连接与MYSQL
- C语言对mysql数据库的操作
- c对mysql数据库的操作
- mysql数据库对文件操作的封装
- 对MySql数据库操作的通用类
- Linux下对MYSQL数据库的操作
- C语言对mysql数据库的操作
- Linux下对MYSQL数据库的操作
- mysql数据库对表的操作
- ibatis对MySQL数据库的批量操作
- CDN内容发布网络
- python爬虫基础知识
- Linux NFS服务器的安装与配置
- 软件开发大图景:两个维度,四个象限
- php中接口 强大之处 php_curl
- MFC对MYSQL数据库操作
- 88. Merge Sorted Array
- 简明 Vim 练级攻略
- JSP基础
- eclipse+ADT下android开发AVD若干问题
- Linux系统对IO内存和IO端口的管理
- C语言深度剖析-----内存管理的艺术
- Controller Architecture
- 对于代码审查的认识和理解