problem mit sqlite (und qt4)
-
hallo,
ich will mit folgendem code ne neue tabelle in einer sqlite datenbank machen:QString l_queryString(""); l_queryString.append("CREATE TABLE IF NOT EXISTS PTsettings (uname TEXT, uid INT, password TEXT, webinterface TEXT, admin_acces TEXT); "); QSqlQuery l_query; l_query.prepare (l_queryString); if (!l_query.exec()) { QMessageBox::critical(0, tr("An error occurred"), tr("%1").arg( l_query.lastError().text() )); }
das erste problem hab ich beim ausfuehren des querys. angeblich kennt sqlite das "IF NOT EXISTS" statement (fehlermeldung >>near "NOT": syntax error Unable to execute statement<<). laut der website gibts das aber sehr wohl, siehe hier. Luegt die website, ober hab ich einen fehler im query?
das zweite problem hab ich mit l_query.exec().
laut qt-dokumentation muesste es false zurueckgeben, wenn ein fehler auftritt. ich bekomme aber IMMER true. dh das if statement wird nie ausgefuehrt (zu testzwecken hab ich das rufezeichen geloescht). ich kann das problem zwar loesen, in dem ich die laenge der fehlermeldung ueberpruefe, aber vielleicht gibt es ja eine bessere moeglichkeit?hier ist noch die dokuseite zu QSqlQuery::exec():
http://doc.trolltech.com/4.1/qsqlquery.html#exec-2ich hoffe ihr koennt mir helfen..
mfg aman..
-
fuers erstere folgendes:
http://www.mail-archive.com/sqlite-users@sqlite.org/msg13020.html