c连接本地数据库服务器实例

/*mysql.c,连接本地mysql服务器的c程序
*主要是流程的学习,实现用c语言来连接服务器并对上面的数据库进行相应的操作
*2012-10-3
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <mysql/mysql.h>     //MySQL头文件
 
int main(int argc, char *argv[]) {
       // 初始化一个类型为MYSQL的数据结构
    MYSQL *mysql;
   mysql = mysql_init(NULL);   
   if (!mysql){   
      fprintf(stderr, "mysql_init failed\n");
      return EXIT_FAILURE;   
       }
 
         // 与MySQL数据库引擎建立连接。
   mysql = mysql_real_connect(mysql, "127.0.0.1", "root", "123",   
     "xftest", 0, NULL, 0);   
    if(mysql){   
      printf("Connection success\n");   
       }  
   else {   
      printf("Connection failed\n");   
       }   

    char *query;
   query = "select * from name";
 
       // 执行query字符串中的SQL语句
    int t;
   t = mysql_real_query(mysql, query, (unsigned int)strlen(query));  
   if(t)
       {
      printf("Error query: %s\n", mysql_error(mysql));
       }
   else
       {
      printf("Query success!\n");
       }
 
       // 获取语句执行的返回结果。
    MYSQL_RES *res;
   res=mysql_store_result(mysql);
 
    MYSQL_ROW row;
    int r;
   for(r = 1; r <= mysql_num_rows(res); r++) //行数
       {
              // 取回结果集中的下一条记录 。
      row = mysql_fetch_row(res);
      
              // 获得一条记录中的各个字段
      for(t = 0; t < mysql_num_fields(res); t++)//列数
              {
         printf("%s ",row[t]);
              }
      printf("\n");
       }

    mysql_free_result(res);
   mysql_close(mysql);   
 
   return 0;
}



posted on 2012-10-03 10:39  小风儿_xf  阅读(945)  评论(0编辑  收藏  举报

导航