HamedMasafi / Nut

Advanced, Powerful and easy to use ORM for Qt
GNU Lesser General Public License v3.0
294 stars 75 forks source link

Doesn't update or delete if primary key is string. #56

Open nasanjargal-b opened 4 years ago

nasanjargal-b commented 4 years ago

I found and fix the error of doesn't update or delete if primary key is string.

I solved this issue as below:

sqlgeneratorbase.cpp

*QString SqlGeneratorBase::updateRecord(Table t, QString tableName)**

    sql = QString("UPDATE %1 SET %2 WHERE %3=%4")
            .arg(tableName)
            .arg(values.join(", "))
            .arg(key)
            .arg(val.type() == QVariant::String ? "\'" + val.toString() + "\'" : val.toString());

*QString SqlGeneratorBase::deleteRecord(Table t, QString tableName)**

    QString sql = QString("DELETE FROM %1 WHERE %2='%3'")
            .arg(tableName)
            .arg(t->primaryKey())
            .arg(val.type() == QVariant::String ? "\'" + val.toString() + "\'" : val.toString());