您的位置:首页 > 数据库 > MySQL

VC2013 MySQL增删改查

2015-08-18 18:43 696 查看
1, stdafx.h中头文件添加:

#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);
}


数据库为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: