在C语言中,我们可以使用SQLite数据库来存储学生考勤信息。以下是一个简单的示例,展示了如何创建一个名为"student_attendance"的表,并插入一些数据。
首先,我们需要包含必要的头文件:
```c
#include
#include
```
然后,我们定义一个函数来创建数据库连接:
```c
int create_connection(const char* db_name) {
sqlite3* DB;
int exit = 0;
exit = sqlite3_open(db_name, &DB);
if (exit) {
printf("Error open DB %sn", sqlite3_errmsg(DB));
return (-1);
} else {
printf("Opened database successfullyn");
}
return (0);
}
```
接下来,我们定义一个函数来创建表:
```c
void create_table(sqlite3* DB) {
char *sql;
sql = "CREATE TABLE IF NOT EXISTS student_attendance (id INTEGER PRIMARY KEY, name TEXT, class TEXT, attendance INTEGER);";
char *error;
exit = sqlite3_exec(DB, sql, NULL, 0, &error);
if (exit != SQLITE_OK) {
printf("Error creating table: %sn", error);
sqlite3_free(error);
} else {
printf("Table created successfullyn");
}
}
```
然后,我们定义一个函数来插入数据:
```c
void insert_data(sqlite3* DB) {
char *sql;
sql = "INSERT INTO student_attendance (name, class, attendance) VALUES ('John Doe', 'Class 1', 95);";
char *error;
exit = sqlite3_exec(DB, sql, NULL, 0, &error);
if (exit != SQLITE_OK) {
printf("Error inserting data: %sn", error);
sqlite3_free(error);
} else {
printf("Data inserted successfullyn");
}
}
```
最后,我们创建一个函数来关闭数据库连接:
```c
void close_connection(sqlite3* DB) {
sqlite3_close(DB);
}
```
现在,我们可以将这些函数组合在一起,创建一个C语言程序来录入学生考勤信息到数据库:
```c
int main() {
sqlite3* DB;
int exit;
exit = create_connection("student_attendance.db");
if (exit) {
printf("Error opening DBn");
return (-1);
} else {
printf("Opened database successfullyn");
}
create_table(DB);
insert_data(DB);
close_connection(DB);
return (0);
}
```
这个程序将创建一个名为"student_attendance.db"的数据库,并在其中创建一个名为"student_attendance"的表。然后,它将插入一条数据,表示学生的名字、班级和出勤情况。最后,它将关闭数据库连接。