@@ -1,97 +0,0 @@
1−#include <stdio.h>
2−#include <string.h>
3−#include <sqlite3.h>
4−
5−sqlite3* db; // pointer to the database
6−
7−int first_row;
8−
9−int select_callback(void *p_data, int num_fields, char **p_fields, char **p_col_names) {
10−
11− int i; // counter
12− int *p_rn =(int*)p_data; // pointer counter
13−
14− if(first_row) {
15− first_row=0;
16− // Go through the columns
17− for(int i=0; i<num_fields; i++){
18− printf("%20s", p_col_names[i]);
19− }
20− printf("\n");
21− for(i=0; i<num_fields; i++){
22− printf("=");
23− }
24− printf("\n");
25− }
26− (*p_rn)++; // increment the pointer counter for column
27−
28−
29− for(i=0; i< num_fields; i++){
30− printf("%20s", p_fields[i]);
31− }
32− printf("\n");
33− return 0;
34−}
35−void select_stmt(const char* stmt){
36− char *errmsg; // erro
37− int ret; // return code
38− int nrecs =0; // return code 0 for successful
39−
40− first_row =1;
41−
42− // open database, SQL to be evaluated, call back function, 1st argument to call back ,err
43− ret = sqlite3_exec(db, stmt, select_callback, &nrecs, &errmsg);
44− if(ret !=SQLITE_OK){
45− printf("Error in select statement %s [%s].\n", stmt, errmsg);
46− }
47− else{
48− printf("\n %d records returned.\n", nrecs);
49− }
50−}
51−
52−void sql_stmt(const char* stmt){
53−
54− char *errmsg;
55− int ret;
56− ret = sqlite3_exec(db, stmt, 0, 0, &errmsg);
57−
58− if(ret !=SQLITE_OK){
59− printf("Error in select statement %s [%s].\n", stmt, errmsg);
60− }
61−}
62−
63−
64−void insert(){
65− sql_stmt("begin");
66− sql_stmt("insert into Student values ('Alice','Peterson',1234551,'Medicine',12)");
67− //sql_stmt("insert into mytable values ('mytable2' , 251826, 22660136)");
68− //sql_stmt("insert into mytable values ('mytable3' , 271826, 22684136)");
69− sql_stmt("commit");
70−}
71−
72−int main(){
73− sqlite3_open("./students.db", &db);
74−
75− if(db ==0 ){
76− printf("Could not open the database");
77− return 1;
78− }
79−
80− //sql_stmt("Create table Student (Name, Surname, Passport ,School, School Student)");
81− //insert();
82−// select_stmt("Select *from Student;");
83−// select_stmt("Select *from Module;");
84−// select_stmt("Select *from Enrollment;");
85− select_stmt("SELECT student.name FROM student, module, enrollment WHERE module.credits = 30 AND student.school_student = enrollment.school_student AND student.school = enrollment.school AND enrollment.code = module.code");
86−
87−
88− sqlite3_close(db);
89− return 0;
90−}
91−
92−
93−
94−
95−
96−
97−