Fixed setup insert sql
authorMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 10 Jun 2010 22:29:36 +0000 (01:29 +0300)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 10 Jun 2010 22:29:36 +0000 (01:29 +0300)
src/db/dbsetup.cpp
src/dialogs/dbobjectdialog.cpp

index 23afef0..c8ba9c1 100644 (file)
 // You should have received a copy of the GNU General Public License
 // along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
 
+#include <QDebug>
 #include <QStringList>
 #include <QSqlRecord>
 #include <QSqlQuery>
+#include <QSqlError>
 #include <QSqlRelationalTableModel>
 #include "dbsetup.h"
 #include "dbplatform.h"
@@ -85,16 +87,21 @@ bool DbSetup::updateDataObjectToModel(const EmuFrontObject *ob)
 
 bool DbSetup::insertDataObjectToModel(const EmuFrontObject *ob)
 {
+    qDebug() << "Inserting setup to database...";
     const Setup *fpo = dynamic_cast<const Setup*>(ob);
     QSqlQuery query;
-    query.prepare("INSERT INTO setup (id, platformid, mediatypeid, fileextensions)"
+    query.prepare("INSERT INTO setup (id, platformid, mediatypeid, filetypeextensions)"
         "VALUES (NULL, :platformid, :mediatypeid, :fileextensions)");
-    if (fpo->getPlatform())
-        query.bindValue(":platformid", fpo->getPlatform()->getId());
-    if (fpo->getMediaType())
-        query.bindValue(":mediatypeid", fpo->getMediaType()->getId());
-    query.bindValue(":filetypeextensions", fpo->getSupportedFileTypeExtensions().join(FILE_TYPE_EXTENSION_SEPARATOR));
-    return query.exec();
+    int plfId = fpo->getPlatform() ? fpo->getPlatform()->getId() : -1;
+    int mtId = fpo->getMediaType() ? fpo->getMediaType()->getId() : -1;
+    QString exts = fpo->getSupportedFileTypeExtensions().join(FILE_TYPE_EXTENSION_SEPARATOR);
+    qDebug() << "Going to insert setup with platform " << plfId << ", media type " << mtId << " and extensions " << exts;
+    query.bindValue(":platformid", plfId);
+    query.bindValue(":mediatypeid", mtId);
+    query.bindValue(":filetypeextensions", exts);
+    bool ret = query.exec();
+    if (!ret) qDebug() << query.lastError().text() << query.executedQuery();
+    return ret;
 
     /*int row = 0;
     sqlTableModel->insertRows(row, 1);
index 03085d3..7a6e021 100644 (file)
@@ -73,7 +73,9 @@ void DbObjectDialog::testSlot()
 
 void DbObjectDialog::insertDb(const EmuFrontObject *ob) const
 {
-    dbManager->insertDataObjectToModel(ob);
+    if ( dbManager->insertDataObjectToModel(ob) )
+        qDebug() << "Db insert ok";
+    else qDebug() << "Db insert failed";
 }
 
 void DbObjectDialog::addObject()
@@ -126,7 +128,10 @@ void DbObjectDialog::updateDb(const EmuFrontObject *ob) const
 {
     if (!ob) return;
     qDebug() << "Updating platform " << ob->getName();
-    dbManager->updateDataObjectToModel(ob);
+    if ( dbManager->updateDataObjectToModel(ob) )
+    { qDebug() << "Db update ok!"; }
+    else qDebug() << "Db update failed";
+
 }
 
 void DbObjectDialog::updateList() const