From d0f3de392720a283fbf721f7ad47da2909abb953 Mon Sep 17 00:00:00 2001 From: Peinthor Rene Date: Fri, 30 Jan 2015 19:47:36 +0100 Subject: [PATCH] addrecord: a small fix that should make add record a bit more robust --- src/sqlitedb.cpp | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/sqlitedb.cpp b/src/sqlitedb.cpp index af176bc6..c824d279 100644 --- a/src/sqlitedb.cpp +++ b/src/sqlitedb.cpp @@ -565,24 +565,32 @@ QString DBBrowserDB::emptyInsertStmt(const sqlb::Table& t, int pk_value) const QStringList vals; QStringList fields; foreach(sqlb::FieldPtr f, t.fields()) { - if( f->primaryKey() && f->isInteger() ) - { - fields << f->name(); - - if(pk_value != -1) - vals << QString::number(pk_value); - else + if(f->primaryKey()) { + if(f->isInteger()) { - if(f->notnull()) - { - int64_t maxval = this->max(t, f); - vals << QString::number(maxval + 1); - } + fields << f->name(); + + if(pk_value != -1) + vals << QString::number(pk_value); else { - vals << "NULL"; + if(f->notnull()) + { + int64_t maxval = this->max(t, f); + vals << QString::number(maxval + 1); + } + else + { + vals << "NULL"; + } } } + else + { + fields << f->name(); + + vals << "''"; + } } else if(f->notnull() && f->defaultValue().length() == 0) { fields << f->name();