应用需求:将目录表(含有id(编号),tablename(物种表),kind(该表中物种所属的类)等属性))中含有的每个物种表(含有id(编号),name(物种名)等)中所有的物名读出,并插入表keywords(含有id(编号),name(物名),keyword(该物种所属类的编号))中。
c++实现代码如下:
/*
Author:Ibsen
Date:2015.12.06
*/
#include <stdio.h>
#include <windows.h>
#include <mysql.h>
MYSQL mysql;
MYSQL_RES *res,*res_son; //返回行的一个查询结果
MYSQL_ROW column,column_son; //一个行数据的类型安全(type-safe)的表示,表示数据行的列
MYSQL_FIELD *fd,*fd_son; //字段列素组
char query[200]; //查询语句
char str[100][100]; //存放查询结果
char str_son[100][100];
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libmysql.lib")
bool Query_son(char *kind)
{
mysql_query(&mysql,"set names gbk"); //设置编码格式
int judge=mysql_query(&mysql,query); //查询
//获取结果集
if(!judge)
{
printf("query succeed!\n");
res_son=mysql_store_result(&mysql); //保存查询到的数据到res
if(res_son)
{
int i,j;
printf("number of results:%d\n",mysql_num_rows(res_son));
for(i=0;fd_son=mysql_fetch_field(res_son);i++) //获取列名
strcpy(str_son[i],fd_son->name);
j=mysql_num_fields(res_son);
//printf("j=%d\n",j);
for(i=0;i<j;i++)
printf("%s\t",str_son[i]); //输出列名
printf("\n\n");
while(column_son=mysql_fetch_row