2015-01-08 24 views
7

Sto tentando di creare un database SQLite in Qt. Qui è il mio codice:Come creare un database SQLite in Qt

QDir databasePath; 
QString path = databasePath.currentPath()+"myDb.db"; 
QSqlDatabase dbConnection = QSqlDatabase:addDatabase("QSQLITE"); 
db.setDatabaseName(path); 
db.open(); 

Non ci sono errori durante l'esecuzione del codice, ma non riesco a trovare il database che ho creato nel percorso ho definito. Questo crea effettivamente il database o fa solo qualche inizializzazione?

Se non crea il database, come faccio a creare il database all'interno dell'applicazione stessa? (Non sto parlando di inserimento.)

+1

Indirizzate il percorso invece di creare una variabile e testate di nuovo.Questo è un modo per garantire che non si tratti di un problema di codice o stringa errata rispetto ad altri problemi. – PaulMcKenzie

+0

@PaulMcKenzie: questo è in realtà risolto il problema del luogo grazie mille – user3009135

+0

L'errore più comune qui è quello di sbagliare il percorso –

risposta

10

È inoltre necessario creare domanda che creerà database non vuota e utilizzare nome corretto di variabili (nel codice si utilizza dbConnection primo luogo e dopo che - db Ad esempio:.

QString path = "path"; 
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//not dbConnection 
db.setDatabaseName(path); 
db.open(); 
QSqlQuery query; 
query.exec("create table person " 
      "(id integer primary key, " 
      "firstname varchar(20), " 
      "lastname varchar(30), " 
      "age integer)"); 
+1

@ Rania-Boy ovviamente no, era solo un esempio le, l'idea principale è di dire che questi nomi dovrebbero essere gli stessi, perché OP creare database con dbCon ma lavorare con qualcosa assolutamente un'altra variabile db. – Chernobyl

+0

Oh capisco, non ho notato che sta usando nomi diversi, mi dispiace. Hoever, sto riscontrando un problema nell'usare lo stesso codice, dopo aver codificato il percorso in questo modo: 'QString path =" c: //Users//me//Document//workapce//myproject//databse.db "' la mia app si blocca. quando si esegue il debug, basta uscire con crash .. quale potrebbe essere il problema –

+0

E 'possibile connettersi a un file db con un nome utente e una password? – SexyBeast