VC2013 MySQL增删改查
2015-08-18 18:43
696 查看
1, stdafx.h中头文件添加:
2, 添加MySQL相关成员变量:
3, OnInitDialog 中初始化:
4, 增删改查具体代码:
添加4个按钮,分别为增,删,改,查,具体代码为:
5, 资源释放
数据库为:
#include "D:\mmysql\mysql-5.1.55-win32_2\include\mysql.h" #pragma comment(lib, "D:\\mmysql\\mysql-5.1.55-win32_2\\lib\\opt\\libmysql.lib")
2, 添加MySQL相关成员变量:
MYSQL *m_pMySQL;//MySQL的连接句柄 MYSQL_RES *pResRet;//返回的结果集 my_ulonglong RecordCount;//共有几条数据 MYSQL_ROW pRow;//某一行的数据
3, OnInitDialog 中初始化:
m_pMySQL = mysql_init(NULL);//失败返回NULL,一般不会失败 if (nullptr == mysql_real_connect(m_pMySQL, "localhost", "root", "", "hundun", 3306, NULL, 0)){ MessageBox(_T("数据库连接失败!")); }
4, 增删改查具体代码:
添加4个按钮,分别为增,删,改,查,具体代码为:
void CMFCApplication1Dlg::OnBnClickedButtonAdd() { int id = 5; #if 1 char strName[200], strSex[200]; strcpy_s(strName, "tttt"); strcpy_s(strSex, "个"); char strTest[200]; sprintf_s(strTest, "insert into user(id,name,sex) values(\'%d\',\'%s\',\'%s\')", id, strName, strSex); mysql_query(m_pMySQL, "set names gb2312;");//防止中文乱码 if (mysql_real_query(m_pMySQL, (char*)(LPCTSTR)strTest, (UINT)strlen(strTest)) != 0){ MessageBox(_T("增添失败")); } #else CString strName(_T("1234")), strSex(_T("混沌")), strSQL; mysql_query(m_pMySQL, "set names gb2312;"); strSQL.Format(_T("insert into user(id,name,sex) values(\'%d\',\'%s\',\'%s\')"), id, strName, strSex);//注意一定要写在一行,而且必须要有\'\' if (mysql_real_query(m_pMySQL, (char*)(LPCTSTR)strSQL, (UINT)strSQL.GetLength()) != 0){ MessageBox(_T("增添失败")); } #endif } void CMFCApplication1Dlg::OnBnClickedButtonDelete() { char strName[200]; strcpy_s(strName, "tttt"); char strSQL[200]; sprintf_s(strSQL, "delete from user where name=\'%s\'", strName); if (mysql_real_query(m_pMySQL, (char*)(LPCTSTR)strSQL, (UINT)strlen(strSQL)) != 0){ MessageBox(_T("删除失败")); } } void CMFCApplication1Dlg::OnBnClickedButtonModify() { char strName[200], strSex[200]; strcpy_s(strName, "zzzz"); strcpy_s(strSex, "混沌"); char strTest[200]; int id = 1; sprintf_s(strTest, "update user set name = \'%s\',sex=\'%s\' where id=\'%d\'", strName, strSex, id); mysql_query(m_pMySQL, "set names gb2312;"); if (mysql_real_query(m_pMySQL, (char*)(LPCTSTR)strTest, (UINT)strlen(strTest)) != 0){ MessageBox(_T("修改失败")); } } void CMFCApplication1Dlg::OnBnClickedButtonSelect() { mysql_query(m_pMySQL, "set names gb2312;"); if (/*mysql_query(m_pMySQL, "set names /'GBK/'") == ERROR_SUCCESS && //设置字符集,否则中文会显示乱码*/ mysql_query(m_pMySQL, "Select * From user") == ERROR_SUCCESS)//成功返回0 { if (pResRet = mysql_store_result(m_pMySQL))//失败返回0 { RecordCount = mysql_num_rows(pResRet); while (pRow = mysql_fetch_row(pResRet))//函数会自动指向下一个记录,无记录则为NULL { ::MessageBoxA(NULL, pRow[2], "", NULL); } mysql_free_result(pResRet); } } }
5, 资源释放
void CMFCApplication1Dlg::OnDestroy() { CDialogEx::OnDestroy(); mysql_close(m_pMySQL); }
数据库为:
相关文章推荐
- mysql自增id归0的方法
- MySQL存储过程从另外两个表中取数据存整合其他数据保存在一张新的表里
- mysql5.6.16绿色版配置、运行
- mybatis至mysql插入一个逗号包含值误差
- mysql查看某资源下的评论数量和收藏数量
- 每天进步一点点——MySQL中能够使用索引的典型场景
- yum 安装mysql5.6
- MySQL学习笔记_时间,多表更新,数据库元数据
- mysql5.6安装
- mysql的GROUP_CONCAT函数的用法
- mysql存储过程使用表名做参数
- 23个MySQL常用查询语句
- mysql创建和删除索引
- mysql数据库,删除root用户后恢复
- 省市区 Mysql 数据库表
- mysql去重的最方便的两种方法
- mysql非本地查询特别慢
- mysql5.5源码安装
- MySql 错误
- mysql count(*) 会选哪个索引?