c连接数据库的成绩管理系统
时间: 2024-02-01 10:14:44 浏览: 46
以下是使用C语言连接数据库实现的简单成绩管理系统示例:
1. 首先,需要安装MySQL数据库并创建一张表,用于存储学生的成绩信息。表结构可以如下:
```sql
CREATE TABLE student_score (
id INT(11) NOT NULL AUTO_INCREMENT, // 学生ID,自增长
name VARCHAR(20) NOT NULL, // 学生姓名
math_score INT(11) DEFAULT 0, // 数学成绩
english_score INT(11) DEFAULT 0, // 英语成绩
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
2. 在C语言中使用MySQL提供的API连接数据库,并执行相关操作。以下是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
int main() {
MYSQL *conn; // MySQL连接
MYSQL_RES *res; // MySQL查询结果集
MYSQL_ROW row; // MySQL行
char *server = "localhost"; // MySQL服务器地址
char *user = "root"; // MySQL用户名
char *password = "123456"; // MySQL密码
char *database = "test"; // MySQL数据库名
conn = mysql_init(NULL); // 初始化MySQL连接
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
printf("Connection error: %s\n", mysql_error(conn));
exit(1);
}
// 插入一条学生记录
if (mysql_query(conn, "INSERT INTO student_score(name, math_score, english_score) VALUES('张三', 90, 80)")) {
printf("Insert error: %s\n", mysql_error(conn));
} else {
printf("Insert success!\n");
}
// 查询所有学生的成绩
if (mysql_query(conn, "SELECT * FROM student_score")) {
printf("Query error: %s\n", mysql_error(conn));
} else {
res = mysql_use_result(conn);
printf("ID\tName\tMath Score\tEnglish Score\n");
while ((row = mysql_fetch_row(res)) != NULL) {
printf("%s\t%s\t%s\t%s\n", row[0], row[1], row[2], row[3]);
}
mysql_free_result(res);
}
mysql_close(conn); // 关闭MySQL连接
return 0;
}
```
在上述代码中,首先初始化MySQL连接,并使用mysql_real_connect()函数连接到MySQL服务器。然后使用mysql_query()函数执行SQL语句,插入一条学生记录。接着使用mysql_query()函数查询所有学生的成绩,并使用mysql_use_result()函数获取结果集,使用mysql_fetch_row()函数逐行读取结果并输出。最后使用mysql_close()函数关闭MySQL连接。
注意:以上示例代码仅供参考,实际开发中需要根据具体需求进行修改和完善。