欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++采用mysql自带lib操作mysql

程序员文章站 2022-05-01 08:42:49
...

工具: eclipse cdt ,关于 eclipse cdt 的安装将另文讲述

mysql-5.6 的安装目录 E:\rick\SDE\mysql

一 加载dll 库

    1 Project–>Properties

    2  在 C/C++ Build, 点击 Settings. 在右边选择Tool Settings Tab. 这里我们加入headers和库信息:

  • GCC C++ Compiler, 进入 Includes.在Include paths(-l) 加入 mysql include ,这里是 E:\rick\SDE\mysql\include

  1. 进入 GCC C++ Linker,这里有两个增加的地方:

    首先在 Library search path (-L) 加入mysql 库的路径:  E:\rick\SDE\mysql\lib

  2. 跟着在 Libraries(-l) 加入你需要的库名 mysql 

二 代码

 

//============================================================================

// Name        : mycpp.cpp

// Author      : rickzheng

// Version     :

// Copyright   : Your copyright notice

// Description : Hello World in C++, Ansi-style

//============================================================================

 

#include <iostream>

#include "winsock2.h"

#include <mysql.h>

#include <iostream>

#include <stdio.h>

using namespace std;

 

int main() {

 

MYSQL *conn;

MYSQL_RES *result;

 

   MYSQL_ROW row;

 

   conn=mysql_init(NULL);          // 初始化mysql结构

 

   if (!mysql_real_connect(conn, "localhost", "root", "404", "yogurt", 3306, NULL, 0))

   {

      printf("/n数据库连接发生错误!");

   }

 

//int res=mysql_query(conn,"select * from users limit 10");

if (mysql_query(conn, "select uid,username,status from users limit 10")) {

     fprintf(stderr, "%s\n", mysql_error(conn));

     exit(0);

  }

 result = mysql_use_result(conn);

 

 //output table name  

  printf("MySQL Tables in mysql database:\n");

  while ((row = mysql_fetch_row(result)) != NULL)

     printf("%s - %s - %s\n", row[0],row[1],row[2]);

 

  // close connection 

  mysql_free_result(result);

  mysql_close(conn);

      return 0;

}

 

 注意:实际操作的时候可能 会在Console输不出内容,只需到run->run Configurations 中去开mycpp.exe 重新编绎运行即可

执行中若提示 libmysql.dll 解决方案如下

PATH 中加载 mysql lib 路径 或copy libmysql.dll 到执行的目录下

 后记:

1 注意34位、64位需统一

相关标签: C/C++