I can't seem to get access to private variables I declared in my class. i get the following errors
Code:
sqlModel.cxx: In function ‘bool createDummyDatabase()’:
sqlModel.cxx:12:4: error: ‘db’ was not declared in this scope
sqlModel.cxx:13:4: error: ‘dbFilename’ was not declared in this scope
sqlModel.cxx: In function ‘bool createDummyTables()’:
sqlModel.cxx:22:10: error: ‘query’ was not declared in this scope
sqlModel.cxx: In function ‘void populateDummyTables()’:
sqlModel.cxx:33:7: error: ‘query’ was not declared in this scope
I'm pretty sure it's not Qt specific but my forwary into objects. Any help would be appreciated.
Code:
//sqlModel.h
#ifndef sqlmodel_h
#define sqlmodel_h
#include <QObject>
#include <QtSql>
#include <QList>
#include <QMap>
#include <QDebug>
#include <QDir>
class sqlModel : public QObject {
Q_OBJECT
public:
sqlModel(QObject* = 0);
virtual ~sqlModel();
QList<QMap<QString, QString> > getDummyData();
private:
QSqlDatabase db;
QString dbFilename;
QSqlQuery query;
QSqlRecord record;
//our methods
bool createDummyDatabase();
bool createDummyTables();
void populateDummyTables();
};
#endif
and the definition file
Code:
//sqlmodel.cxx
#include "sqlModel.h"
sqlModel::sqlModel(QObject* parent) : QObject(parent){
createDummyDatabase();
createDummyTables();
populateDummyTables();
}
bool createDummyDatabase(){
bool rtn = false;
db = QSqlDatabase::addDatabase("QSQLITE");
dbFilename = QDir::homePath() + "./dummy.music.db";
db.setDatabaseName(dbFilename);
if(db.open()) return true;
//else
return rtn;
}
bool createDummyTables(){
bool rtn = false;
rtn = query.exec("CREATE TABLE IF NOT EXISTS dummy_music(id INTEGER PRIMARY KEY, year INTEGER, artist TEXT, albulm text, title TEXT");
if(!rtn){
qDebug() << "Error creating dummy table...";
return false;
}
return true;
}
void populateDummyTables(){
for(int x = 0; x < 20; x++){
query.exec("INSERT OR IGNORE INTO dummy_music(id, year, artist, albulm, title) VALUES(1001, 1999, 'Matthew', 'apparations', 'his album')");
query.exec("INSERT OR IGNORE INTO dummy_music(id, year, artist, albulm, title) VALUES(1001, 1999, 'Matthew', 'apparations', 'his album')");
query.exec("INSERT OR IGNORE INTO dummy_music(id, year, artist, albulm, title) VALUES(1001, 1999, 'Matthew', 'apparations', 'his album')");
query.exec("INSERT OR IGNORE INTO dummy_music(id, year, artist, albulm, title) VALUES(1001, 1999, 'Matthew', 'apparations', 'his album')");
query.exec("INSERT OR IGNORE INTO dummy_music(id, year, artist, albulm, title) VALUES(1001, 1999, 'Matthew', 'apparations', 'his album')");
}
}
/* not finished yet
QList<QMap<QString, QString> > getDummyData(){
//temp containers for our artist info
QList<QMap<QString, QString> > tableData;
QMap<QString, QString> artist;
//make our query and package it
query.exec("SELECT * FROM dummy_music");
record = query.record(); //get the query fields
//itereate over each record
while(query.next()){
QString id = query.value(record.indexOf("id").toString;
QString year = query.value(record.indexOf("year").toString;
QString artist = query.value(record.indexOf("artist").toString;
QString albulm = query.value(record.indexOf("albulm").toString;
QString title = query.value(record.indexOf("title").toString;
//insert each field into a map
artist["id"] = id; artist["year"] = year; artist["artistName"] = artistName; artist["albulm"] = albulm; artist["title"] = title;
tableData.append(artist);
}
//return the list
return tableData;
}
*/
sqlModel::~sqlModel(){}