1、在属性添加:附加目录,附加依赖库,附加库目录;

2、在stdafx.h中加入:
#include <winsock.h>
#include "mysql.h"

3、拷贝libmysql.lib和libmysql.dll到工程解决方案

4、【X64】项目属性->配置管理器->活动解决方案平台-><新建>->键入或选择新平台:X64;


整个使用过程:
在类里面:
private:
MYSQL *conn;
const char *Cerror; 然后在构造函数里面:
CMmysql5Dlg::CMmysql5Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CMmysql5Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
//自己的内容
//初始化数据库
conn = mysql_init(NULL);
if (conn == NULL)
{
Cerror = mysql_error(conn);
CString Error(Cerror);
AfxMessageBox(_T("数据库初始化失败!"), MB_OK | MB_ICONWARNING);
AfxMessageBox(Error, MB_OK | MB_ICONWARNING);
return ;
} //连接数据库
if ( mysql_real_connect(conn, "localhost", "root", "123456", NULL, 0, NULL, 0) == NULL)
{
Cerror = mysql_error(conn);
CString Error(Cerror);
AfxMessageBox(_T("数据库连接失败,请检查是不是用户名或密码出错!"), MB_OK | MB_ICONWARNING);
AfxMessageBox(Error, MB_OK | MB_ICONWARNING);
return ;
}
} //在相应的需要操作的函数中:
void CMmysql5Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
GetDlgItemText(IDC_EDIT,str);
const wchar_t* wstr = ( LPCTSTR )str;
char Xstr[200] = {0};
wcstombs( Xstr, wstr, wcslen( wstr ) );
int n = 20;
CSting sz;
sz.Format("%d", n);
AfxMessageBox(sz);
if ( mysql_query(conn, Xstr))
{
Cerror = mysql_error(conn);
CString Error(Cerror);
AfxMessageBox(_T("命令错误!"));
AfxMessageBox(Error, MB_OK | MB_ICONWARNING); }else
MessageBox(str,_T("命令执行正确!"));
//OnOK();
}

VS2005连接MySQL C API的更多相关文章

  1. MFC连接MySQL C API方法

    1.首先下载一个32位的MySQL,因为vc的版本是32位了,不用32 位的MySQL会出现无效的机械码错误. MySQL安装地址:https://dev.mysql.com/downloads/my ...

  2. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  3. C++连接mysql的两种方式(ADO连接和mysql api连接)

    一.ADO连接mysql 1.安装mysql-5.5.20-win32.msi和mysql-connector-odbc-5.3.4-win32.msi(一般两个安装程序要匹配,否则可能连接不上)  ...

  4. Vusual C++连接Mysql和从MySql中取出数据的API介绍

    .1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const ...

  5. c++使用mysql的api连接相关问题

    记录一下自己使用中的相关问题,方便有相同问题的同学解决. 关于在VS中的各种配置.看这里.只是须要注意一下,我如今用的mysql版本号是5.6的,已经没有[MySQL Server \lib\opt] ...

  6. c++连接mysql数据库(使用mysql api方式,环境VS2013+MYSQL5.6)

    转载请注明出处,原文地址http://www.cnblogs.com/zenki-kong/p/4382657.html 刚开始写博客,博主还只是个大三汪,学艺不精,如有错误还请前辈指出(>^ω ...

  7. C++ API方式连接mysql数据库实现增删改查

    这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...

  8. C Mysql API连接Mysql

    最近都在查看MYsql C API文档,也遇到了很多问题,下面来简单的做一个总结. mysql多线程问题 mysql多线程处理不好,经常会发生coredump,见使用Mysql出core一文. 单线程 ...

  9. c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)

    我的安装环境: (1)vs2013(32位版) (vs2013只有32位的 没有64位的,但是它可以编译出64位的程序)  : (2)mysql-5.7.15(64位) vs2013中的设置(按步骤来 ...

随机推荐

  1. AtCoder ABC 130E Common Subsequence

    题目链接:https://atcoder.jp/contests/abc130/tasks/abc130_e 题目大意 给定一个长度为 N 的序列 S 和一个长度为 M 的序列 T,问 S 和 T 中 ...

  2. vue项目的实用配置

    文件压缩如何去掉console 在使用vue开发项目的过程中,免不了在调试的时候会写许多console,在控制台进行调试:在开发的时候这种输出是必须的,但是build后线上运行时这个东西是不能出现的: ...

  3. <随便写>random函数

    import random random,randint(1,100)返回随机数 random.choice(list)从一个列表中随机选取一个元素返回 random.shuffle(list)将列表 ...

  4. <每日一题>题目2:编写装饰器,为多个函数加上认证功能(用户账号和密码来源于文件)

    这里做个最简单的账号密码验证,主要为了实现装饰器同时对多个函数起作用 FLAG = False #加一个变量防止多次登录验证 def wrapper(f): def inner(*args,**kwa ...

  5. webpack 简单笔记(二)CommonsChunkPlugin插件

    接下来就要使用CommonsChunkPlugin插件 (一)单一入口,模块单一引用,分文件输出,单一入口,模块重复引用,分文件输 main.js代码 require('./static/js/mai ...

  6. 2018-8-10-win10-uwp-打开文件管理器选择文件

    title author date CreateTime categories win10 uwp 打开文件管理器选择文件 lindexi 2018-08-10 19:16:50 +0800 2018 ...

  7. JS流程控制语句 重复重复(for循环)语句结构: for(初始化变量;循环条件;循环迭代) { 循环语句 }

    重复重复(for循环) 很多事情不只是做一次,要重复做.如打印10份试卷,每次打印一份,重复这个动作,直到打印完成.这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码. for语句结构: ...

  8. 嘴巴题9 Codeforces 453A. Little Pony and Expected Maximum

    A. Little Pony and Expected Maximum time limit per test 1 second memory limit per test 256 megabytes ...

  9. 在js中使用Razor

    @foreach (var tem in Model) { <text> time.push("@tem.CreateTime.ToString("G")&q ...

  10. leetcode-92-反转链表②

    题目描述: 方法一: class Solution: def reverseBetween(self, head: ListNode, m: int, n: int) -> ListNode: ...