#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include "/usr/include/mysql/mysql.h"
MYSQL *mysql;
MYSQL_RES *results;
MYSQL_ROW record;
MYSQL_FIELD *field, *fields;
unsigned int num_fields;
unsigned int i;
int flag = 1,flags = 1;
void Use_Menu();
void Data_Menu();
void Menu_Table();
void Table_Menu(char Table_Name[]);
void Show_Database();
void Create_Database();
void Delete_Database();
void Use_Data();
void Show_Table();
void Creat_Table();
void Telete_Table();
void Insert(char Table_Name[]);
void Delete(char Table_Name[]);
void Find(char Table_Name[]);
void Update(char Table_Name[]);
void Show(char Table_Name[]);
void Show(char Table_Name[])
{
char str[25];
sprintf(str, "select * from %s", Table_Name);
mysql_real_query(mysql, str, (unsigned int)strlen(str));
results = mysql_store_result(mysql);
printf("\n");
while((field = mysql_fetch_field(results)))
{
printf("%s\t\t", field->name);
}printf("\n");
while((record = mysql_fetch_row(results)))
{
num_fields = mysql_num_fields(results);
for(i = 0; i < num_fields; i++)
{
printf("%s\t\t", record[i]);
}printf("\n");
}
mysql_free_result(results);
}
void Show_Database()
{
mysql_query(mysql, "Show databases");
results = mysql_store_result(mysql);
while((field = mysql_fetch_field(results)))
{
printf(">>>> %s", field->name);
}printf("\n");
while((record = mysql_fetch_row(results)))
{
num_fields = mysql_num_fields(results);
for(i = 0; i < num_fields; i++)
{
printf(">>>> %s", record[i]);
}printf("\n\n");
}
printf("\n");
mysql_free_result(results);
}
void Insert(char Table_Name[])
{
char str1[4][10];
char str[30];
printf("请输入名字: ");
scanf("%s", str1[0]);
printf("请输入学号: ");
scanf("%s", str1[1]);
printf("请输入数学成绩: ");
scanf("%s", str1[2]);
printf("请输入语文成绩: ");
scanf("%s", str1[3]);
sprintf(str, "Insert into %s values(\"%s\", \"%s\", \"%s\", \"%s\")", Table_Name,str1[0],str1[1],str1[2],str1[3]);
printf("\n>>>%s\n", str);
mysql_real_query(mysql, str, (unsigned int)strlen(str));
printf(">>>添加成功!!!\n\n");
}
void Delete(char Table_Name[])
{
char Delete_Name[10];
char Delete_Str[40];
printf("请输入要删除的信息的名字: ");
scanf("%s", Delete_Name);
sprintf(Delete_Str, "Delete from %s where name=\"%s\"", Table_Name, Delete_Name);
printf("\n>>>%s\n", Delete_Str);
mysql_real_query(mysql, Delete_Str, (unsigned int)strlen(Delete_Str));
printf(">>>删除成功!!!\n\n");
}
void Find(char Table_Name[])
{
char Find_Str[40];
char Find_Name[10];
printf("请选择要查询的名字: ");
scanf("%s", Find_Name);
sprintf(Find_Str,"select * from %s where name=\"%s\"", Table_Name, Find_Name);
printf("\n>>>%s\n", Find_Str);
/*执行指定为“以Null终结的字符串”的SQL查询*/
mysql_real_query(mysql, Find_Str, (unsigned int)strlen(Find_Str));
results = mysql_store_result(mysql); //能够访问以前从服务器获得的行
printf(">>>共有%d条信息\n\n", *results);
while((field = mysql_fetch_field(results)))
{
printf("%s\t\t", field->name);
}printf("\n");
while((record = mysql_fetch_row(results))) //能够访问以前从服务器获得的行
{
num_fields = mysql_num_fields(results);
for(i = 0; i < num_fields; i++)
{
printf("%s\t\t", record[i]);
}
printf("\n");
}
printf("\n");
}
void Update(char Table_Name[])
{
char str[40];
char Str[40];
char Update_Name[10];
char Find_Name[10];
printf("请选择要查询的名字: ");
scanf("%s", Find_Name);
sprintf(str,"select * from %s where name=\"%s\"", Table_Name, Find_Name);
printf("\n>>>%s\n", str);
/*执行指定为“以Null终结的字符串”的SQL查询*/
mysql_real_query(mysql, str, (unsigned int)strlen(str));
results = mysql_store_result(mysql); //能够访问以前从服务器获得的行
printf(">>>共有%d条信息\n\n", *results);
while((field = mysql_fetch_field(results)))
{
printf("%s\t\t", field->name);
}printf("\n");
while((record = mysql_fetch_row(results))) //能够访问以前从服务器获得的行
{
num_fields = mysql_num_fields(results);
for(i = 0; i < num_fields; i++)
{
printf("%s\t\t", record[i]);
}
printf("\n");
}
printf("\n");
printf("请输入要修改的信息的名字: ");
scanf("%s", Update_Name);
sprintf(Str, "Update %s set name=\"%s\" where name=\"%s\"", Table_Name, Update_Name, Find_Name);
printf(">>>%s\n\n", Str);
mysql_real_query(mysql, Str, (unsigned int)strlen(Str));
printf(">>>修改成功!!!\n\n");
}
void Table_Menu(char Table_Name[])
{
int n;
printf("\n");
printf("\t\t[1]增加信息 [2]删除信息\n");
printf("\t\t[3]查找信息 [4]修改信息\n");
printf("\t\t[5]显示信息 [6]退出系统\n");
printf("\t\t[7]返回上一级 [8]退出数据库\n\n");
printf("请选择: ");
scanf("%d", &n);
switch(n)
{
case 1: Insert(Table_Name);
break;
case 2: Delete(Table_Name);
break;
case 3: Find(Table_Name);
break;
case 4: Update(Table_Name);
break;
case 5: Show(Table_Name);
break;
case 6: exit(1);
break;
case 7: flags = 2;
break;
case 8: exit(1);
break;
default: printf("输入错误!!!\n");
}
}
void Create_Database()
{
char Database_Name[20];
char name[30];
printf("请输入要创建的数据库的名字: ");
scanf("%s", Database_Name);
sprintf(name, "create database %s", Database_Name);
mysql_real_query(mysql, name, (unsigned int)strlen(name));
printf("\n>>>数据库创建成功!!!\n\n");
}
void Delete_Database()
{
char Database_Name[20];
char name[30];
printf("请输入要删除的数据库的名字: ");
scanf("%s", Database_Name);
sprintf(name, "drop database %s", Database_Name);
mysql_real_query(mysql, name, (unsigned int)strlen(name));
printf("\n>>>数据库删除成功!!!\n\n");
}
void Telete_Table()
{
char Table_Name[20];
char name[30];
printf("请输入要删除的表格的名字: ");
scanf("%s", Table_Name);
sprintf(name, "drop table %s", Table_Name);
mysql_real_query(mysql, name, (unsigned int)strlen(name));
printf("\n>>>表格删除成功!!!\n\n");
}
void Show_Table()
{
mysql_query(mysql, "Show tables");
results = mysql_store_result(mysql);
while((field = mysql_fetch_field(results)))
{
printf("\n>>>%s\t", field->name);
}printf("\n\n");
while((record = mysql_fetch_row(results)))
{
num_fields = mysql_num_fields(results);
for(i = 0; i < num_fields; i++)
{
printf(">>>%s\t", record[i]);
}printf("\n");
}
mysql_free_result(results);
}
void Creat_Table()
{
char Table_Name[15];
char Creat_str[100] = "(";
char Creat_Str[200];
char att[15][50];
int i = 0, j;
printf("请输入要创建的表格的名字:");
scanf("%s", Table_Name);
printf("请输入表格的属性,以`,`结尾,以`;`结束输入\n");
printf("请输入: ");
getchar();
gets(att[i]);
while(strcmp(att[i], ";"))
{
++i;
printf("请输入: ");
gets(att[i]);
}printf("\n>>>共有%d个属性\n", i);
for(j = 0; j < i; j++)
{
strcat(Creat_str, att[j]);
}
sprintf(Creat_Str, "create table %s%s);", Table_Name, Creat_str);
//mysql_real_query(mysql, "create table student (Num char(15) primary key,Name char(10) not null, QQ char(15), Chinese int);");
printf(">>>%s\n", Creat_Str);
mysql_real_query(mysql, Creat_Str, (unsigned int)strlen(Creat_Str));
printf("\n>>>表格创建成功!!!\n\n");
}
void Use_Menu()
{
char Table_Name[10];
if(1 == flags)
{
printf("请输入要进入的表格名字: ");
scanf("%s", Table_Name);
while(1)
{
Table_Menu(Table_Name);
if(2 == flags)
{
flags = 1;
break;
}
}
}
}
void Menu_Table()
{
int n;
printf("\n");
printf("\t\t[1]显示表格 [2]删除表格\n");
printf("\t\t[3]创建表格 [4]进入信息管理\n");
printf("\t\t[5]返回上一级\n\n");
printf("请选择: ");
scanf("%d", &n);
switch(n)
{
case 1: Show_Table();
break;
case 2: Telete_Table();
break;
ca
没有合适的资源?快使用搜索试试~ 我知道了~
Msql 中C API的学生信息管理系统
共2个文件
c:1个
doc:1个
需积分: 10 16 下载量 121 浏览量
2015-01-19
22:41:36
上传
评论
收藏 48KB ZIP 举报
温馨提示
利用Mysql 中的C API函数接口,对学生信息的单个表格进行管理,可以对数据库,数据库内的表格进行创建,查看,删除,对学生的信息进行,增删查改,等一些简单的操作。对于刚开始学习mysql 的同学有很大的帮助,很值得一看!
资源推荐
资源详情
资源评论
收起资源包目录
Mysql中C API的学生信息管理系统.zip (2个子文件)
Mysql中C API的学生信息管理系统
mysql_student.c 9KB
Mysql中C API的学生信息管理系统.doc 67KB
共 2 条
- 1
资源评论
喷香大猪蹄子
- 粉丝: 21
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功