waynew
28th October 2009, 23:26
Can anyone see why the following code is not creating the table?
#include <iostream>
#include <QString>
#include <QtSql>
#include "stninfodialog.h"
#include <QDialog>
bool makeStnDB() {
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("StnInfo.sqlite");
db.open();
//Check to see if stninfo exists...
QSqlQuery query = QSqlQuery::QSqlQuery("StnInfo.sqlite");
query.exec("SELECT call FROM stnInfo");
if (query.isNull(1)) {
query.exec("CREATE table stnInfo (id int recNum primary key, call varchar(8), name varchar(80),"
" address1 varchar(80), accress2 varchar(80), city varchar(80), state varchar(80), state varchar(40),"
" postalCode varchar(20), country varchar(40), grid varchar(8), cqZone varchar(8), ituZone varchar(8),"
" latitude varchar(8), longitude varchar(8), licenseClass varchar(12))");
StnInfoDialog *StnInfoD = new StnInfoDialog();
StnInfoD->show();
}
if (!db.open()) {
return false;
}
return true;
}
It does return true.
I also tried it without the check to see if stninfo exists and still no luck.
#include <iostream>
#include <QString>
#include <QtSql>
#include "stninfodialog.h"
#include <QDialog>
bool makeStnDB() {
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("StnInfo.sqlite");
db.open();
//Check to see if stninfo exists...
QSqlQuery query = QSqlQuery::QSqlQuery("StnInfo.sqlite");
query.exec("SELECT call FROM stnInfo");
if (query.isNull(1)) {
query.exec("CREATE table stnInfo (id int recNum primary key, call varchar(8), name varchar(80),"
" address1 varchar(80), accress2 varchar(80), city varchar(80), state varchar(80), state varchar(40),"
" postalCode varchar(20), country varchar(40), grid varchar(8), cqZone varchar(8), ituZone varchar(8),"
" latitude varchar(8), longitude varchar(8), licenseClass varchar(12))");
StnInfoDialog *StnInfoD = new StnInfoDialog();
StnInfoD->show();
}
if (!db.open()) {
return false;
}
return true;
}
It does return true.
I also tried it without the check to see if stninfo exists and still no luck.