Как решить эту проблему Ошибка базы данных:
QSqlError("", "", "") and Query Error: QSqlError("", "Parameter count mismatch", "")
Я получаю эту ошибку каждый раз, когда хочу что-то сохранить. Я действительно хочу понять эту проблему, зачем выдавать эту ошибку?
соединение с базой данных:
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("SMS_ERD.db");
db.setDatabaseName(":memory:");
if(!db.isOpen()){
db.open();
qDebug() << "Database connected.";
} else{
qDebug() << db.lastError().text();
}
query = new QSqlQuery(db);
оператор сохранения:
QString tid = ui->txt_teacher_id->text();
QString school_id = ui->txt_school_id->text();
QString f_name = ui->txt_f_name->text();
QString m_name = ui->txt_m_name->text();
QString l_name = ui->txt_l_name->text();
QString gender = ui->comboBox->currentText();
QString other_detail = ui->txt_other->toPlainText();
const QString save_statement = "insert into teachers(TEACHER_ID, SCHOOL_ID)"
"values (:tid, :school_id)";
db->getQuery()->prepare(save_statement);
db->getQuery()->bindValue(":tid", tid);
db->getQuery()->bindValue(":school_id", school_id);
if(db->getQuery()->exec()){
qDebug() << "Data saved.";
}else{
qDebug() << db->getQuery()->exec();
qDebug() << "Database Error: " << db->getDB().lastError();
qDebug() << "Query Error: " << db->getQuery()->lastError();
}
пожалуйста, объясните ошибку. Спасибо.