Seafood/populateDB/main.cpp
changeset 5 98d749cef1a7
child 6 e8f500c881af
equal deleted inserted replaced
4:a154e00a4448 5:98d749cef1a7
       
     1 #include <QtCore/QCoreApplication>
       
     2 #include <QtSql>
       
     3 
       
     4 #include "database.h"
       
     5 
       
     6 // This program is simply responsible for creating a SQLite database for the Seafood Selector
       
     7 
       
     8 void insertFish(QString name, int cat, int calories,
       
     9                 float fat, float protein, float omega3,
       
    10                 int cholesterol, int sodium)
       
    11 {
       
    12     QSqlQuery query;
       
    13 
       
    14     query.prepare("INSERT INTO fish (name, category, calories, fat, protein,omega3,cholesterol, sodium) "
       
    15                   "VALUES (:name,:category,:calories,:fat,:protein,:omega3,:cholesterol, :sodium) ");
       
    16     query.bindValue(":name", name);
       
    17     query.bindValue(":category",cat);
       
    18     query.bindValue(":calories",calories);
       
    19     query.bindValue(":fat",fat);
       
    20     query.bindValue(":protein",protein);
       
    21     query.bindValue(":omega3",omega3);
       
    22     query.bindValue(":cholesterol",cholesterol);
       
    23     query.bindValue(":sodium", sodium);
       
    24     if (!query.exec())
       
    25     {
       
    26         qDebug() << query.lastError();
       
    27         qFatal("Failed to add fish.");
       
    28     }
       
    29 }
       
    30 
       
    31 int main(int argc, char *argv[])
       
    32 {
       
    33     QCoreApplication a(argc, argv);
       
    34     QSqlDatabase db;
       
    35 
       
    36 
       
    37     // Find QSLite driver
       
    38     db = QSqlDatabase::addDatabase("QSQLITE");
       
    39 
       
    40 
       
    41     db.setDatabaseName("C:\\workspace\\qt\\populateDB\\seafood.db");
       
    42 
       
    43     // Open databasee
       
    44     if(!db.open())
       
    45     {
       
    46         qDebug() << "DB: failed to open" << endl;
       
    47         exit (1);
       
    48     }
       
    49 
       
    50     qDebug() << "DB: database opened " << endl;
       
    51 
       
    52     QSqlQuery query;
       
    53     bool rc = true;
       
    54 
       
    55    //  rc = query.exec("drop table if exists");
       
    56 
       
    57     QString call("create table fish "
       
    58                  "(id integer AUTO INCREMENT primary key, "
       
    59                  "name varchar(32),"
       
    60                  "category int,"
       
    61                  "calories int,"
       
    62                  "fat float,"
       
    63                  "protein float,"
       
    64                  "omega3 float,"
       
    65                  "cholesterol int,"
       
    66                  "sodium int)");
       
    67 
       
    68     qDebug() << call << endl;
       
    69 
       
    70     rc = query.exec(call);
       
    71 
       
    72 
       
    73     insertFish("Crab, Dungeness",EBEST,86,0.96,17.4,0.3,59,295);
       
    74     insertFish("Trout, rainbow (farmed)",EBEST,131,5.4,20.8,0.986,59,35);
       
    75     insertFish("Cod, Pacific (trawl)",EOK,83,0.63,17.9,0.0,37,71);
       
    76     insertFish("Tuna, canned light",EOK,103,1.01,22.0,0.256,47,37);
       
    77     insertFish("Orange Roughy",EWORST,69,0.7,14.7,0.02,20,63);
       
    78     insertFish("Salmon, farmed or Atlantic",EWORST,142,6.33,19.8,1.73,55,44);
       
    79 
       
    80     return a.exec();
       
    81 }