From 098f9b9332ea68196c55a1f46a6fa46e8dec7724 Mon Sep 17 00:00:00 2001 From: Uttej kumar Anumolu Date: Tue, 13 Aug 2019 17:15:44 +0000 Subject: [PATCH] Finished resit --- database.h | 216 ++++++++++++++++++++++ db.sql | 414 +++++++++++++++++++++--------------------- hello | Bin 0 -> 35126 bytes hello2 | Bin 0 -> 35458 bytes hello3 | Bin 0 -> 39645 bytes libsqlite.hpp | 489 ++++++++++++++++++++++++++++++++++++++++++++++++++ timetable.cpp | 23 +++ uni_info.db | Bin 0 -> 14336 bytes 8 files changed, 935 insertions(+), 207 deletions(-) create mode 100644 database.h create mode 100755 hello create mode 100755 hello2 create mode 100755 hello3 create mode 100644 libsqlite.hpp create mode 100644 timetable.cpp create mode 100644 uni_info.db diff --git a/database.h b/database.h new file mode 100644 index 0000000..ab14ef7 --- /dev/null +++ b/database.h @@ -0,0 +1,216 @@ +#include #took some help from https://github.coventry.ac.uk/milesd7/122COM-Project/blob/master/DataBase.h + +#include + +#include + +#include "libsqlite.hpp" + +using namespace std; + +int UploadLecturer(int id, string Name){ + + try + + { + + sqlite::sqlite db( "uni_info.db" ); //open database + + + + auto q1 = db.get_statement();//create cursor + + auto q2 = db.get_statement();//create cursor + + + + q1->set_sql( "INSERT INTO Lecturers ( Lect_ID, Lect_name) " + + "VALUES (?, ?);" );// insert into DB + + q1->prepare(); + + + + q1->bind( 1, id ); + + q1->bind( 2, Name ); + + + + q1->step(); + + + } + + + + catch( sqlite::exception e ) + + { + + cerr << e.what() << endl; + + return 1; + + } + +} +int UploadStudent(int id, string Name, string class1){ + + try + + { + + sqlite::sqlite db( "uni_info.db" ); //open database + + + + auto q1 = db.get_statement();//create cursor + + auto q2 = db.get_statement();//create cursor + + + + q1->set_sql( "INSERT INTO Student ( Stu_ID, Student_Name, Class) " + + "VALUES (?, ?, ?);" );// insert into DB + + q1->prepare(); + + + + q1->bind( 1, id ); + + q1->bind( 2, Name ); + + q1->bind( 3, class1 ); + + q1->step(); + + + } + + + + catch( sqlite::exception e ) + + { + + cerr << e.what() << endl; + + return 1; + + } + +} + + + + + + +int printLecturers(){ + + try + + { + + sqlite::sqlite db( "uni_info.db" ); // open database + + + + auto us = db.get_statement(); + + auto bo = db.get_statement(); + + + + us->set_sql( "SELECT * FROM Lecturers" );// set query + + us->prepare(); + + + + + while( us->step()){ + + if (us->get_int(0) < 10){// if datas from DB is less than 10 , spaces between id and name is 5 + + cout <<" "<< us->get_int(0) << " " << us->get_text(1) < get_int(0) << " " << us->get_text(1)<set_sql( "SELECT * FROM Student" );// set query + + us->prepare(); + + + + + while( us->step()){ + + if (us->get_int(0) < 10){// if datas from DB is less than 10 , spaces between id and name is 5 + + cout <<" "<< us->get_int(0) << " " << us->get_text(1) << " " << us->get_text(2)< get_int(0) << " " << us->get_text(1) <<" " << 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 literal 0 HcmV?d00001 diff --git a/hello2 b/hello2 new file mode 100755 index 0000000000000000000000000000000000000000..58800e22d0be94d6a4521012484ccb10258b4728 GIT binary patch literal 35458 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 literal 0 HcmV?d00001 diff --git a/hello3 b/hello3 new file mode 100755 index 0000000000000000000000000000000000000000..42232d97e2e828877888b72a13966ad3c140443b GIT binary patch literal 39645 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 x5nmJ6uK#BL7xyLg8$$76KeP + +#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, 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, 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/timetable.cpp b/timetable.cpp new file mode 100644 index 0000000..39d5fc8 --- /dev/null +++ b/timetable.cpp @@ -0,0 +1,23 @@ +#include "database.h" +using namespace std; +int main(){ + int Lect_id,stu_id; + string Lect_name,name,class1; + cout<< "enter lecturer name"<>Lect_name; + cout<< "enter lecturer id"<>Lect_id; + + UploadLecturer(Lect_id, Lect_name); + printLecturers(); + + cout<< "enter student name"<>name; + cout<< "enter student id"<>stu_id; + cout<< "enter class code"<> class1; + UploadStudent(stu_id, name, class1); + printStudents(); + +} \ No newline at end of file diff --git a/uni_info.db b/uni_info.db new file mode 100644 index 0000000000000000000000000000000000000000..01da067ed8944a9f1157fb9a1d54cee940e5dd92 GIT binary patch literal 14336 zcmeI2O>7%Q6o6;;t?f7_6{3npsf9cUmD(afteaA#3K7>?LTD0NJE;^Q6t?j;abWK>%E^q>_2&7&(R6;!%yH5|@qzPyOeIk&G4dF-zd`jSZ{L@Jj&;<4(ft&&Cb-QTg$L%6N*Q(Yk z)yB#wx0(SzU-LYFl;_8TRqlIUeUt)Qu!~bxJ|a5hd#y&LBW>kF=|QyCfZGIa!=1fo zxYkJ%&;!)ymKpt3K|Gz@;?f*)@wbJ8h0-C^oA&^18J|X?O=+!T_0@vr| z<*M6QcKM>~_&lFMUzY;bzYAF1^}jo~2&j`Lpb0#>1jPEEj23eJPk#Rw&;K!cnb6Dh zZ{r!`20Z@gn!hhByFe3cc$l`22hO>gTfz+;;%5{~c46M;^M#W$HWxKKJIFDK;?nda zKU*jjUoDh)_Jthhr%Thbh0-EFWiO6)rG#`>>ge-1KA1aV#My~qN~(>DyWV`ehC4x* zoL1n;<0W}&OZ-FoMM$u8nr=)XXGb6f%m7#igB(zg$dTyR)kE4Df?b0#q zxHRX~-H4*fgksHUHdR;7@l5uVjn;~@mF!pSl08?n%UlU%WrpJl8^_EzE2Mkb*csFc z3$b=RmS7_z^u1%!(pj(4s=4Yv92-8 zU2Z-bkF%FYdUXr^#Zq~q{ahl!4j-l)8EK<*^fA@8vpf*7^o^ZOZ-(Z|x~QY?PI