diff --git a/src/EditTableDialog.cpp b/src/EditTableDialog.cpp index 26d6ae73..295c116c 100644 --- a/src/EditTableDialog.cpp +++ b/src/EditTableDialog.cpp @@ -232,7 +232,7 @@ void EditTableDialog::itemChanged(QTreeWidgetItem *item, int column) // we need to check for this case and cancel here. Maybe we can think of some way to modify the INSERT INTO ... SELECT statement // to at least replace all troublesome NULL values by the default value SqliteTableModel m(this, pdb); - m.setQuery(QString("SELECT COUNT(_rowid_) FROM `%1` WHERE `%2` IS NULL;").arg(curTable).arg(field->name())); + m.setQuery(QString("SELECT COUNT(`%1`) FROM `%2` WHERE `%3` IS NULL;").arg(pdb->getObjectByName(curTable).table.rowidColumn()).arg(curTable).arg(field->name())); if(m.data(m.index(0, 0)).toInt() > 0) { // There is a NULL value, so print an error message, uncheck the combobox, and return here diff --git a/src/sqlitedb.cpp b/src/sqlitedb.cpp index 3a26781a..d8e2b90c 100644 --- a/src/sqlitedb.cpp +++ b/src/sqlitedb.cpp @@ -436,7 +436,7 @@ bool DBBrowserDB::executeMultiSQL(const QString& statement, bool dirty, bool log bool DBBrowserDB::getRow(const QString& sTableName, int rowid, QList& rowdata) { - QString sQuery = QString("SELECT * from %1 WHERE _rowid_=%2;").arg(sTableName).arg(rowid); + QString sQuery = QString("SELECT * from %1 WHERE `%2`=%3;").arg(sTableName).arg(getObjectByName(sTableName).table.rowidColumn()).arg(rowid); QByteArray utf8Query = sQuery.toUtf8(); sqlite3_stmt *stmt; bool ret = false; @@ -488,7 +488,7 @@ bool DBBrowserDB::deleteRecord(const QString& table, int rowid) bool ok = false; lastErrorMessage = QString("no error"); - QString statement = QString("DELETE FROM `%1` WHERE _rowid_=%2;").arg(table).arg(rowid); + QString statement = QString("DELETE FROM `%1` WHERE `%2`=%3;").arg(table).arg(getObjectByName(table).table.rowidColumn()).arg(rowid); if (_db){ logSQL(statement, kLogMsg_App); @@ -510,7 +510,7 @@ bool DBBrowserDB::updateRecord(const QString& table, const QString& column, int lastErrorMessage = QString("no error"); - QString sql = QString("UPDATE `%1` SET `%2`=? WHERE _rowid_=%3;").arg(table).arg(column).arg(row); + QString sql = QString("UPDATE `%1` SET `%2`=? WHERE `%3`=%4;").arg(table).arg(column).arg(getObjectByName(table).table.rowidColumn()).arg(row); logSQL(sql, kLogMsg_App); setRestorePoint();