C++链接MySQL数据库查询操作

查询lybk表中的wordname列:

/*
Author:Ibsen
Date:2015.12.03
*/
#include <stdio.h>
#include <windows.h>
#include <mysql.h>
MYSQL mysql;
MYSQL_RES *res; //返回行的一个查询结果
MYSQL_ROW column; //一个行数据的类型安全(type-safe)的表示,表示数据行的列
MYSQL_FIELD *fd; //字段列素组
char query[200]; //查询语句
char str[100][100]; //存放查询结果
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libmysql.lib")
bool Query()
{
	
	mysql_query(&mysql,"set names gbk"); //设置编码格式
	int judge=mysql_query(&mysql,"select wordname from lybk"); //查询
	//获取结果集
	if(!judge)
	{
		printf("query succeed!\n");
		res=mysql_store_result(&mysql); //保存查询到的数据到res
		if(res)
		{
			int i,j;
			printf("number of results:%d\n",mysql_num_rows(res));
			for(i=0;fd=mysql_fetch_field(res);i++) //获取列名
				strcpy(str[i],fd->name);
			j=mysql_num_fields(res);
			//printf("j=%d\n",j);
            for(i=0;i<j;i++)
              printf("%s\t",str[i]); //输出列名
            printf("\n");
            while(column=mysql_fetch_row(res))//获取具体的数据
            {
                for(i=0;i<j;i++)
                    printf("%s\n",column[i]);
                printf("\n");
		    }
		}
	}
	else
	{
		printf("query failed(%s)!\n",mysql_error(&mysql));
		return false;
	}
}
int main()
{
       //MYSQL mysql;
       mysql_init(&mysql);  //初始化mysql结构
	   //// localhost:服务器 root为账号密码 test为数据库名 3306为端口
       if(!mysql_real_connect(&mysql,"localhost","root","12345","szlybz",3306,NULL,0))
              printf("\n连接数据库时发生错误!\n");
       else
              printf("\n连接数据库成功!\n");

       Query();
       mysql_close(&mysql);  //释放数据库
  
       return 0;
}


猜你喜欢

转载自blog.csdn.net/AC_Gibson/article/details/50173169