时间:2021-07-01 10:21:17 帮助过:23人阅读
只要把下面的例子理解了,那么通过C API操作数据库就没啥难的了 #include stdio.h#include mysql.h#include string.h#include stdlib.hMYSQL mysql; //mysql连接MYSQL_RES *res; //这个结构代表返回行的一个查询结果集MYSQL_ROW row; //一个行数据的类型安全
只要把下面的例子理解了,那么通过C API操作数据库就没啥难的了
- #include <stdio.h>
- #include <mysql.h>
- #include <string.h>
- #include <stdlib.h>
- MYSQL mysql; //mysql连接
- MYSQL_RES *res; //这个结构代表返回行的一个查询结果集
- MYSQL_ROW row; //一个行数据的类型安全(type-safe)的表示
- char query[100]; //查询语句
- char order[100];
- void STRINSERT(int count)
- {
- char *delim="_";
- char *p;
- char *q;
- char temp[20];
- scanf("%s",temp);
- strcpy(order,strtok(query,delim));
- strcat(order,temp);
- int i=1;
- while((p=strtok(NULL,delim)))
- {
- strcat(order,p);
- if(i<count) {="" scanf("%s",temp);="" i++;="" }="" else="" break;="" strcat(order,temp);="" strcpy(query,order);="" void="" show()="" int="" t,r;="" strcpy(query,"="" select="" *="" from="" qq");="" t="mysql_real_query(&mysql,query,(unsigned" int)strlen(query));="" 执行指定为计数字符串的sql查询。="" if(t)="" printf("执行显示时出现异常:="" %s",mysql_error(&mysql));="" res="mysql_store_result(&mysql);//检索完整的结果集至客户端。" printf("姓名\t学号\t年龄\t\n");="" while(row="mysql_fetch_row(res))" for(t="0;t<mysql_num_fields(res);t++)" printf("%s\t"="" ,row[t]);="" printf("\n");="" mysql_free_result(res);="" 释放结果集使用的内存。="" insert()="" printf("请输入姓名、学号、年龄\n");="" 安一次回车为输入一项="" strcpy(query,"insert="" into="" qq(sname,sno,sage)="" values('_','_',_)");="" strinsert(3);="" 转化为命令函数="" printf("执行插入时出现异常:="" printf("添加成功\n");="" delete()="" printf("请输入你要删除学生的学号:\n");="" strcpy(query,"delete="" qq="" where="" sno="'_'");" strinsert(1);="" printf("执行删除时出现异常:="" search()="" printf("请输入你要查找学生的信息:\n");="" strcpy(query,"select="" printf("执行查询时出现异常:="" updata()="" printf("请输入新的学号和你要修改学生的学号:\n");="" strcpy(query,"update="" set="" strinsert(2);="" printf("执行更新时出现异常:="" printf("修改成功\n");="" menu()="" printf("\t\t1、显示学生信息\n");="" printf("\t\t2、添加学生信息\n");="" printf("\t\t3、删除学生信息\n");="" printf("\t\t4、查找学生信息\n");="" printf("\t\t5、修改学生信息\n");="" printf("\t\t0、退出系统="" \n");="" quit()="" mysql_close(&mysql);="" printf("数据库已关闭="" exit(1);="" main()="" mysql_init(&mysql);="" if="" (!mysql_real_connect(&mysql,"localhost",="" "root",="" null,="" "test",0,null,0))="" printf(="" "error="" connecting="" to="" database:="" printf("connected...\n");="" choice;="" while(1)="" menu();="" printf("\n\t请选择:");="" scanf("%d",&choice);="" switch(choice)="" case="" 1:show();break;="" 2:insert();break;="" 3:delete();break;="" 4:search();break;="" 5:updata();break;="" 0:quit();="" return="" 0;="" }<="" script=""></count)></stdlib.h></string.h></mysql.h></stdio.h>
运行结果如下: