//Default constructor - creates and initializes the database and tables Database::Database(){ //Initiatlize Database // create and open database SQLiteDatabase *pDatabase = this->connect(); // create statement instance for sql queries/statements SQLiteStatement *pStmt = this->createStatement(pDatabase); //Customer Table: customerId, lastName, firstName, emailAddress, PIN pStmt->SqlStatement("CREATE TABLE IF NOT EXISTS Customer(customerId INTEGER NOT NULL PRIMARY KEY, lastName VARCHAR(80), firstName VARCHAR(80), emailAddress VARCHAR(80) NOT NULL, PIN INTEGER NOT NULL)"); //Account Table: accountId, customerId, balance, accountType pStmt->SqlStatement("CREATE TABLE IF NOT EXISTS Account(accountId INTEGER NOT NULL PRIMARY KEY, customerId INTEGER, balance REAL NOT NULL, accountStatus VarChar(10),accountType VARCHAR(10))"); //Transaction Table: transactionId, accountId, amount, transactionType, transactionDate pStmt->SqlStatement("CREATE TABLE IF NOT EXISTS Transactions1(transactionId INTEGER NOT NULL PRIMARY KEY, accountId INTEGER, amount Double, transactionType VARCHAR(80), transactionDate VARCHAR(80), transactionDescription VARCHAR(80))"); }
SQLiteStatement *SQLite::ptrTableConnParams() { SQLiteDatabase *sqliteDatabase = new SQLiteDatabase(getDbFile(), SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL); //!!! SQLITE_OPEN_CREATE nécessaire pour création SQLiteStatement *sqliteStatement = new SQLiteStatement(sqliteDatabase); try { string sql = "SELECT * FROM sqlite_master WHERE type='table' AND name='"; sql += getTableName(); sql += "';"; sqliteStatement->Sql(sql); if (sqliteStatement->GetNumberOfRows() != 1) { string sql = "CREATE TABLE "; sql += getTableName(); sql += " (def integer, host VARCHAR(64), port VARCHAR(64), dbname VARCHAR(64), user VARCHAR(64), password VARCHAR(64));"; sqliteStatement->SqlStatement(sql); } } catch (const exception &e) { Aux::logsStr("", e.what(), logPut); } return sqliteStatement; }