MySQL教程2:C语言与MySQL交互

MySQL中内置与C语言交互的接口,其官方文档说明http://dev.mysql.com/doc/refman/5.1/zh/apis.html

本文给出一个实例。

1.作者开发环境:1)Windows7 + Visual studio 2008

2)MySQL版本号: 5.5。

作者的MySQL 安装目录:C:\Program Files\MySQL\

2.Visual Studio2008配置:

1)tools - options里面include files 和library files,要分别包含MySQL安装文件中的include和lib文件夹。

a)include files 如下 C:\Program Files\MySQL\MySQL Server 5.5\include 和C:\Program Files\MySQL\MySQL Server 5.5\include\mysql

b)library files 如下C:\Program Files\MySQL\MySQL Server 5.5\lib 和C:\Program Files\MySQL\MySQL Server 5.5\lib\debug 和C:\Program Files\MySQL\MySQL Server 5.5\lib\debug

2)Project---properties(快捷键ALT+F7)---Configuration Properties---Linker---Input---Additional Dependencies中添加libmysql.lib odbc32.lib odbccp32.lib三个lib文件。如果不添加这三个lib文件就会出现Link错误。


3.实例如下:

注意要修改实例中的数据库的信息。用户名、密码、database都需要修改。

#include <winsock2.h>
#include<windows.h>
#include <winsock.h>
#include <mysql.h> //数据库的变量类型和函数
#include <stdio.h>
#include <string.h>

int main(void ) {
   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;
  /* db configure*/
   char *server = "127.0.0.1";
   char *user = "root";
   char *password = "admin";
   char *database = "face";
   int  port=3306;  
   conn = mysql_init(NULL);
  
   /* Connect to database */
   if (!mysql_real_connect(conn, NULL,
         user, password, database, port, NULL, 0)) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(0);
   }

   /* send SQL query */
   if (mysql_query(conn, "select * from face0" )) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(0);
   }

   res = mysql_use_result(conn);
  
   /* output table name */
   printf( "MySQL Tables in mysql database:\n" );
   while ((row = mysql_fetch_row(res)) != NULL)
      printf( "%s - %s \n", row[0],row[1]);

   /* close connection */
   mysql_free_result(res);
   mysql_close(conn);
  return 0;
}

你可能感兴趣的:(MySQL教程2:C语言与MySQL交互)