From 42c6f226fd135951789fdc360e95792f2502f45c Mon Sep 17 00:00:00 2001 From: Justice Kpakol Date: Fri, 23 Aug 2019 06:24:01 +0000 Subject: [PATCH] Complete --- executer | Bin 0 -> 39765 bytes header.h | 149 +++++++++++++++++++++++++++ libsqlite.hpp | 256 +++++++++++++++++++++++++++++++++++++++++++++++ main.cpp | 70 +++++++++++++ uni_TimeTable.db | Bin 0 -> 17408 bytes 5 files changed, 475 insertions(+) create mode 100755 executer create mode 100644 header.h create mode 100644 libsqlite.hpp create mode 100644 main.cpp create mode 100644 uni_TimeTable.db diff --git a/executer b/executer new file mode 100755 index 0000000000000000000000000000000000000000..829c754c7ebe89b77d5b9fdc16888d4f54acfb29 GIT binary patch literal 39765 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%0ACmwC;;>VZo}oj8I1y(^?`xBp@#8Y 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 literal 0 HcmV?d00001 diff --git a/header.h b/header.h new file mode 100644 index 0000000..7d389c6 --- /dev/null +++ b/header.h @@ -0,0 +1,149 @@ +#include +#include +#include +#include "libsqlite.hpp" + +using namespace std; + +void SearchLect(int module_code){ + + try + { + sqlite::sqlite db( "uni_TimeTable.db" ); //open database + auto curs= db.get_statement(); //create cursor + curs->set_sql( "select lecturers.Name from lecturers,lecturer_module where lecturer_module.lecturer=lecturers.lect_ID and module=(?);" ); + + curs->prepare(); + curs->bind( 1, module_code ); + while( curs->step()){ + + cout <<" "<< curs->get_text(0) << " " <set_sql( "INSERT INTO Lecturers ( Lect_ID, name, number) " + + "VALUES (?, ?, ?);" ); + + curs->prepare(); + curs->bind( 1, id ); + curs->bind( 2, name ); + curs->bind( 3, number ); + curs->step(); + + } + + catch( sqlite::exception e ) + + { + cerr << e.what() << endl; + return 1; + + } + +} +int NewStudents(int id, string Name, int number){ + try + { + sqlite::sqlite db( "uni_TimeTable.db" ); //open database + auto curs = db.get_statement();//create cursor + curs->set_sql( "INSERT INTO Students ( ID, name, number) " + + "VALUES (?, ?, ?);" );// insert into DB + + curs->prepare(); + curs->bind( 1, id ); + curs->bind( 2, Name ); + curs->bind( 3,number ); + curs->step(); + + } + + catch( sqlite::exception e ) + + { + cerr << e.what() << endl; + return 1; + + } + +} + +int displayLecturers(){ + + try + + { + + sqlite::sqlite db( "uni_TimeTable.db" ); // open database + + auto curs = db.get_statement(); + + curs->set_sql( "SELECT * FROM Lecturers" );// set query + curs->prepare(); + + while( curs->step()){ + + cout <<" "<< curs->get_int(0) << " " << curs->get_text(1) <set_sql( "SELECT * FROM Students" );// set query + curs->prepare(); + + while( curs->step()){ + + cout <<" "<< curs->get_int(0) << " " << curs->get_text(1) << " " << curs->get_int(2)< +#include +#include +#include +#include + +#ifndef SQLITEPP +#define SQLITEPP + +namespace sqlite +{ + class sqlite; + class statement; + typedef std::shared_ptr statement_ptr; + typedef std::shared_ptr sqlite_ptr; + + class exception : public std::exception + { + friend statement; + friend sqlite; + public: + exception(std::string msg) + { + this->_msg = msg; + } + std::string what() + { + return "Sqlite error: " + this->_msg; + } + private: + void _set_errorno(int err) + { + } + std::string _msg; + }; + + class statement + { + friend sqlite; + friend exception; + public: + void set_sql(std::string sql) + { + if(this->_prepared) + { + exception e("Can not set sql on prepared query."); + throw e; + } + else + { + this->_sql = sql; + } + } + void prepare() + { + this->_prepared = true; + const char* tail; + int rc = sqlite3_prepare_v2(this->_db, + this->_sql.c_str(), + this->_sql.length(), + &this->_s, + &tail); + if(rc != SQLITE_OK) + { + exception e("Could not prepare sql."); + e._set_errorno(rc); + throw e; + } + this->_tail = std::string(tail); + } + + bool step() + { + if(!this->_valid) + { + exception e("Trying to step an invalid statement."); + } + + int rc = sqlite3_step(this->_s); + if(rc == SQLITE_DONE) + { + this->_valid = false; + return false; + } + if(rc == SQLITE_ROW) + { + this->_has_row = true; + return true; + } + // Ok, this means error if we get here + exception e("Sqlite had an error: " + std::string(sqlite3_errmsg(this->_db))); + return false; + } + void reset() + { + int rc = sqlite3_reset(this->_s); + if(rc != SQLITE_OK) + { + exception e("Could not reset the virtual machine."); + throw e; + } + this->_valid = true; + this->_has_row = false; + this->_prepared = false; + } + + void exec() + { + this->prepare(); + this->step(); + } + + double get_double(int fieldnumber) + { + return sqlite3_column_double(this->_s, fieldnumber); + } + + int get_int(int fieldnumber) + { + return sqlite3_column_int(this->_s, fieldnumber); + } + + std::string get_text(int fieldnumber) + { + return std::string((const char*)sqlite3_column_text(this->_s, fieldnumber)); + } + std::string get_blob(int fieldnumber) + { + return std::string((const char*)sqlite3_column_blob(this->_s, fieldnumber), + sqlite3_column_bytes(this->_s, fieldnumber)); + } + + void bind(int where, const std::string& text) + { + int rc = sqlite3_bind_text(this->_s, where, text.c_str(), text.length(), SQLITE_STATIC); + if(rc != SQLITE_OK) + { + exception e("Could not bind text."); + throw e; + } + } + + void bind(int where, const std::string&& text) + { + int rc = sqlite3_bind_text(this->_s, where, text.c_str(), text.length(), SQLITE_TRANSIENT); + if(rc != SQLITE_OK) + { + exception e("Could not bind text."); + throw e; + } + } + + void bind(int where, double d) + { + int rc = sqlite3_bind_double(this->_s, where, d); + if(rc != SQLITE_OK) + { + exception e("Could not bind double."); + throw e; + } + } + void bind(int where, int i) + { + int rc = sqlite3_bind_int(this->_s, where, i); + if(rc != SQLITE_OK) + { + exception e("Could not bind int."); + throw e; + } + } + void bind_null(int where) + { + int rc = sqlite3_bind_null(this->_s, where); + if(rc != SQLITE_OK) + { + exception e("Could not bind to NULL."); + throw e; + } + } + + virtual ~statement() + { + sqlite3_finalize(this->_s); + } + private: + statement(sqlite3* db) + { + this->_db = db; + this->_prepared = false; + this->_valid = true; + this->_has_row = false; + } + statement(sqlite3* db, std::string sql) + { + this->_db = db; + this->_prepared = false; + this->_valid = true; + this->_has_row = false; + this->set_sql(sql); + } + sqlite3* _db; + bool _prepared, _valid, _has_row; + std::string _sql; + std::string _tail; + sqlite3_stmt* _s; + }; + + class sqlite + { + friend statement; + public: + sqlite(std::string filename) throw (exception) + { + this->_filename = filename; + int rc = sqlite3_open(filename.c_str(), &this->_db); + if(rc != SQLITE_OK) + { + exception e("Could not open '" + filename + "'"); + throw e; + } + } + std::shared_ptr get_statement() + { + statement_ptr st(new statement(this->_db)); + return st; + } + statement_ptr get_statement(std::string sql) + { + statement_ptr st(new statement(this->_db, sql)); + return st; + } + int64_t last_insert_id() + { + return sqlite3_last_insert_rowid(this->_db); + } + virtual ~sqlite() + { + sqlite3_close(this->_db); + } + private: + std::string _filename; + + sqlite3* _db; + }; +} + +#endif \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..5fe2844 --- /dev/null +++ b/main.cpp @@ -0,0 +1,70 @@ +#include "header.h" + +using namespace std; + +void Lecturer_upload(){ + int Lecturer_id,lecturer_number; + string Lecturer_name; + + cout<< "enter lecturer name"<>Lecturer_name; + cout<< "enter lecturer id"<>Lecturer_id; + cout<< "enter lecturer number"<>lecturer_number; + NewLecturers(Lecturer_id, Lecturer_name, lecturer_number); + } + +void student_upload(){ + int student_number,student_id; + string student_name; + cout<< "enter student name"<>student_name; + cout<< "enter student id"<>student_id; + cout<< "enter phone number"<> student_number; + NewStudents(student_id, student_name, student_number); + + +} + +int main(){ + int press=0; + int code; + cout<< "Hello and welcome to the University TimeTable database system."<>press; + if (press==1){ + displayStudents(); + + } + else if (press==2){ + displayLecturers(); + } + else if (press==3){ + Lecturer_upload(); + } + else if (press==4){ + student_upload(); + } + else if (press==5){ + cout<< "Please enter the module code to look for the lecturer"<>code; + SearchLect(code); + + } + else if (press==6){ + + return 0; + } + else { + cout<< "Invalid input entered"<7%Q6o7Z;ZM=4V8X{y?#zdJ`3V79+#Lf=_gsAJdB;==!og(FctgXEyt9W;d zcbyO+fr2=2;n<4y)Jt-t95^8)4n0&LkPs(?gj6+6ssbhIr4;qT%&zU)s8K2_QLJVx zt>^9hzWH`%-n`k}%*>?jXyiSsXs8Yu6hr|b;RGRqARu~l(WCN{s32BOXvorc`ynB^ zgE-%=v7*FQ}ID!2q(Bbc(jR4#f;6D6C1ODR#IDw~%fFE!um3%828}{R} z6!#-fiVwBYz5?73;7_;#_n)ec^UiPrhn_$ygpfD-p(@64073y48z1uQ{{;blhcDs6 zp~uAmZ~_NUKn4g#hXw|QM^#5Xr`j6Htk{lb*ij6@Ihrt%w2bp5M=O#{PS?zwMiMzk zU(%fwGO6Y1p%zWuoIi>nn4sAQ&J?ZrqG}j4j;LmyBntCZQFj&$+q3^$0z7~%*gp8K za}78FPGGMI_#uecd;(=*1WOPMu$jTL|Ca>#6~2K>d)+Rtj}zbo8Y0jGA`FX>_3z#; z*^W*v{A?+270JYTbMxsfU%!Y%F(C?H zy!QR+LTOngvzD!!oB8PxuZ0X92S*Z*781K{ib=DvztJ5Hb>0&Li`HG@0;+48_0|IGe->;LNl+=buZ zdP9}-LYx36aIgfrK*VyWbA68P{KdTe{x0lBtyQDqLtV&?x>Ajb#rgC9gS~LPbxvS^ z3HSj3x3~S=x#q`I3Ou~mx$Z|)LN`xzUh&5NrU3uI->|vAn(*2=0Z!lm2uOfsX7dLn z>Mh4B_IoZi#G8X zUdG!%U}irRI>dEPAfFrzq7Uh79R)3ISq3|BGM!4yrpRpK`me+(%5+s7W0hP?V_XlM~^cbSYPxjg^I# zr4~u~RCJU-vChp0Bx-NQHyc7~K z+zUj~sZ*(RYC4(9kTN#!vM7Bd$EvH%;MPx*S$x*(JIz*Pw^B_t?mbm|YblDi{=X`~ z2K)e55An$4UFQUvpFoJd6`+XJhtKGSWs;M6p+Mj1v&S#uUt}youSgyJQC&4vGNzl3 zriS}BKMx~XriFU@Q>wF|Et8ZvU!X4m3V8CX=l<~4|91rV7w*8l<_Ewv z0O-5{EToeJ_5lRwoZyZBTkQGYE&lya16+9#PN2yNu&4iQh2TE@XDb5w{ZC84v;Q4% zQSf0=z@NhNut=8>m*J--?+#aQj|qI#F3CMTXm!H%SSPidQz~jjyDA*1^HrlDa(esHC|@@ea1l_@8ZNTIBKt=n6v!LDjd zedFDnY~^&TPnKo$v8$8oSi661b?raK?|!svGE}!~q9|=X`3-rey$8>AkGVlRy})9u b!zZVDcFJDuQ#Mu=J7Y(ltVq0C