QSqlError ("", "Несоответствие количества параметров", "") На qt - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь добавить что-то в базу данных, но это дает мне эту ошибку (QSqlError ("", "Несоответствие количества параметров", "") ...

int GereVendas::addVenda(int idFuncionario, int idCliente) {

DB *db = new DB();
if(!db->checkDbOpen()){
    db->openDB();
    qDebug() << "a abrir base de dados";
}

if(db->checkDbOpen()){
    QSqlQuery query;
    QDateTime dateTime = dateTime.currentDateTime();

    query.prepare("INSERT INTO VENDA (P_ID_PESSOA, CLI_P_ID_PESSOA, V_Nome, V_MetodoPagamento, V_ValorTotal, V_Data, V_Estado) "
                  "VALUES (?, ?, ?, ?, ?, ?, ?)");
    query.addBindValue(idFuncionario);
    query.addBindValue(idCliente);
    query.addBindValue("test");
    query.addBindValue("test");
    query.addBindValue(12);
    query.addBindValue(dateTime);
    query.addBindValue(1);

    if(query.exec()) {
        QSqlDatabase::database().commit();
        db->closeDB();
        return 1;
    }

    qDebug() << query.lastQuery(); //show this: ""
    qDebug() << query.lastError(); //show this: QSqlError("", "Parameter count mismatch", "")

} else {
    qDebug() << "Error!DB not open!";
}
db->closeDB();
qDebug() << "Error";
return -1;
}

Моя таблица в БД это: (V_ID - auto_increment)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...