学生信息管理系统(unix下用c对mysql进行操作)

来源:互联网 发布:淘宝运营职责 编辑:程序博客网 时间:2024/06/16 15:37

学生信息管理系统,用c在unix下直接对数据库进行操作的版本。

头文件需要加上mysql.h,编译命令参见http://blog.csdn.net/martinue/article/details/53996835


#include<mysql.h>#include<stdio.h>#include<stdlib.h>#include<string.h>int idd;void add(){    idd++;    char sex[10];    char name[50];    char tele[50];    char mail[50];    MYSQL *con;    MYSQL_RES *res;    MYSQL_ROW row;    char sql_line[1024]="";    int rt=0,index_field,count;    con = mysql_init((MYSQL *)0);    if(!mysql_real_connect(con,"localhost","root","123456","stusql",0,NULL,0))    {        printf("mysql connect failed !\n");        system("pause");        exit(-1);    }    printf("mysql connect successful!\n");    printf("请输入学生姓名:");    scanf("%s",name);    printf("请输入学生性别(m||f):");    scanf("%s",sex);    printf("请输入学生电话:");    scanf("%s",tele);    printf("请输入学生邮箱:");    scanf("%s",mail);    int ch,ma,en;    printf("请输入学生的语文成绩:");    scanf("%d",&ch);    printf("请输入学生的数学成绩:");    scanf("%d",&ma);    printf("请输入学生的英语成绩:");    scanf("%d",&en);    sprintf(sql_line,"insert into user(id,name,sex,telephone,email)  values('%d','%s','%s','%s','%s')",idd,name,sex,tele,mail);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    sprintf(sql_line,"insert into score(id,user_id,course_id,score,flag)  values('%d','%d','%d','%d','%d')",idd*3+0,idd,0,ch,0);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    sprintf(sql_line,"insert into score(id,user_id,course_id,score,flag)  values('%d','%d','%d','%d','%d')",idd*3+1,idd,1,ma,0);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    sprintf(sql_line,"insert into score(id,user_id,course_id,score,flag)  values('%d','%d','%d','%d','%d')",idd*3+2,idd,2,en,0);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    puts("add successful!");    mysql_close(con);}void modify(){    char sex[10];    char name[50];    char tele[50];    char mail[50];    MYSQL *con;    MYSQL_RES *res;    MYSQL_ROW row;    char sql_line[1024]="";    int rt=0,index_field,count;    con = mysql_init((MYSQL *)0);    if(!mysql_real_connect(con,"localhost","root","123456","stusql",0,NULL,0))    {        printf("mysql connect failed !\n");        system("pause");        return;    }    printf("mysql connect successful!\n");    printf("请输入要修改的学生的id:");    int idd;    scanf("%d",&idd);    printf("请输入学生姓名:");    scanf("%s",name);    printf("请输入学生性别(m||f):");    scanf("%s",sex);    printf("请输入学生电话:");    scanf("%s",tele);    printf("请输入学生邮箱:");    scanf("%s",mail);    int ch,ma,en;    printf("请输入学生的语文成绩:");    scanf("%d",&ch);    printf("请输入学生的数学成绩:");    scanf("%d",&ma);    printf("请输入学生的英语成绩:");    scanf("%d",&en);    sprintf(sql_line,"update user set name='%s',sex='%s',telephone='%s',email='%s'  where id=%d",name,sex,tele,mail,idd);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    sprintf(sql_line,"update score set score='%d' where user_id=%d and course_id=0",ch,idd);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    sprintf(sql_line,"update score set score='%d' where user_id=%d and course_id=1",ma,idd);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    sprintf(sql_line,"update score set score='%d' where user_id=%d and course_id=2",en,idd);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("error:%s\n",mysql_error(con));        return;    }    printf("modify successful!");    mysql_close(con);}void delete(){    MYSQL *con;    MYSQL_RES *res;    MYSQL_ROW row;    char sql_line[1024]="";    int rt=0,index_field,count;    con = mysql_init((MYSQL *)0);    if(!mysql_real_connect(con,"localhost","root","123456","stusql",0,NULL,0))    {        printf("mysql connect failed !\n");        return;    }    printf("connect successful!\n");    printf("请输入删除的学生的id:");    int xx;    scanf("%d",&xx);    sprintf(sql_line,"delete from user where id = '%d' ",xx);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if (rt)    {        printf("mysql_real_query error !\n");        return;    }    sprintf(sql_line,"delete from score where user_id = '%d' ",xx);    rt=mysql_real_query(con,sql_line,strlen(sql_line));    if(rt)    {        printf("mysql_real_query error !\n");        return;    }    puts("delete successful!");    mysql_close(con);}void watch(){    MYSQL mysql;    MYSQL_RES *res = NULL;    MYSQL_ROW row;    char query_str[1024];    int rc=0, i, fields;    int rows;    if (NULL == mysql_init(&mysql))    {        printf("mysql_init(): %s\n", mysql_error(&mysql));        return ;    }    if (NULL == mysql_real_connect(&mysql,"localhost","root","123456","stusql",0,NULL,0))    {        printf("mysql_real_connect(): %s\n", mysql_error(&mysql));        return;    }    printf("Connected MySQL successful! \n");    printf("请输入要查询的学生的id:");    int xx;    scanf("%d",&xx);    sprintf(query_str,"select user.name,user.sex,user.telephone,user.email,course.name,score.score from user,score,course where user.id=score.user_id and user.id=%d and score.course_id=course.id;",xx);    rc = mysql_real_query(&mysql, query_str, strlen(query_str));    if (0 != rc)    {        printf("mysql_real_query(): %s\n", mysql_error(&mysql));        return;    }    res = mysql_store_result(&mysql);    if (NULL == res)    {        printf("mysql_restore_result(): %s\n", mysql_error(&mysql));        return ;    }    rows = mysql_num_rows(res);    printf("The total rows is: %d\n", rows);    fields = mysql_num_fields(res);    printf("The total fields is: %d\n", fields);    while ((row = mysql_fetch_row(res)))    {        for (i = 0; i < fields; i++)        {            printf("%s\t", row[i]);        }        printf("\n");    }    mysql_close(&mysql);}void print(){    printf("----学生信息管理系统----\n");    printf("     0.查看学生信息\n");    printf("     1.录入学生信息\n");    printf("     2.修改学生信息\n");    printf("     3.删除学生信息\n");    int x;    scanf("%d",&x);    if(x==1)        add();    else if(x==2)        modify();    else if(x==3)        delete();    else        watch();}int  main(){    idd=0;    while(1)        print();    return 0;}


0 0