ΑΣΚΗΣΗ C++ και SQLite
Λύση άσκησης
-
Μεταγλώττιση του κώδικα C++ (main.cpp, model.cpp) με g++
- model.hpp
- model.cpp
-
$ g++ main1.cpp model.cpp -o main1 -std=c++17 ./main1
Επιπλέον ερωτήματα
- Download SQLite amalgamation https://www.sqlite.org/download.html
- Δημιουργία του shell της SQLite3
-
Μεταγλώττιση του sqlite3.c με gcc και δημιουργία του αρχείου αντικειμένου sqlite3.o
$ gcc sqlite3.c -c -lpthread
-
Μεταγλώττιση του κώδικα C++ (main.cpp, model.cpp) με g++
- Εκτέλεση
-
επιλογή 1
.\main2 1. drop tables, create and populate DB 2. retrieve data from DB 1 db created and populated
-
επιλογή 2
.\main2 1. drop tables, create and populate DB 2. retrieve data from DB 2 ORDER NUMBER: 0001 ORDERED TIME: 2020-01-05 10:07:07 SHIPPED TIME: 2020-01-07 12:01:01 SHIP TO: Athens PRODUCT: TV QTY: 1 PRICE: 550 PRODUCT: A4 PAPER QTY: 5 PRICE: 10.5 PRODUCT: Microphone QTY: 2 PRICE: 50.5 ##################################################### ORDER NUMBER: 0002 ORDERED TIME: 2020-02-07 12:20:01 SHIPPED TIME: 2020-02-17 19:30:20 SHIP TO: Ioannina PRODUCT: CAMERA QTY: 1 PRICE: 230 PRODUCT: WIFI QTY: 1 PRICE: 55.9 ##################################################### ORDER NUMBER: 0003 ORDERED TIME: 2020-02-08 10:20:11 SHIPPED TIME: 2020-02-15 12:35:22 SHIP TO: Arta PRODUCT: SSD QTY: 1 PRICE: 90.5 #####################################################
## Πρόσβαση στα δεδομένα του προγράμματος μέσω του shell της SQLite3
$ ./sqlite3 SQLite version 3.31.1 2020-01-27 19:55:54 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> .open test.db sqlite> select * from orders; 0001|2020-01-05 10:07:07|2020-01-07 12:01:01|Athens 0002|2020-02-07 12:20:01|2020-02-17 19:30:20|Ioannina 0003|2020-02-08 10:20:11|2020-02-15 12:35:22|Arta sqlite> select * from line_items; TV|1|550.0|0001 A4 PAPER|5|10.5|0001 Microphone|2|50.5|0001 CAMERA|1|230.0|0002 WIFI|1|55.9|0002 SSD|1|90.5|0003 sqlite> select * from orders, line_items where number=order_fk and number='0001'; 0001|2020-01-05 10:07:07|2020-01-07 12:01:01|Athens|A4 PAPER|5|10.5|0001 0001|2020-01-05 10:07:07|2020-01-07 12:01:01|Athens|Microphone|2|50.5|0001 0001|2020-01-05 10:07:07|2020-01-07 12:01:01|Athens|TV|1|550.0|0001