Всем привет=) Пишу программу на qt по обслуживанию базы данных (БД) и столкнулся с такой проблемой: не могу добавить запись в таблицу. В чём ошибка? В SQL-запросе или в способе его вызова? Альтернативные варианты по добавлению приветствуются. Спасибо за внимание=)
Wind1 - окно для ввода добавляемой в БД записи.
model... - указатели на модели для соответствующих таблиц БД
Wind1.h
#ifndef WIND1_H
#define WIND1_H
#include <QWidget>
#include<QSqlRelationalTableModel>
#include<QSqlQuery>
namespace Ui {
class Wind1;
}
class Wind1 : public QWidget
{
Q_OBJECT
public:
explicit Wind1(QWidget *parent = 0);
QSqlRelationalTableModel *modelabonents1;
QSqlRelationalTableModel *modelLgoty1;
QSqlRelationalTableModel *modelLgotniki1;
QSqlRelationalTableModel *modelTarify1;
QSqlRelationalTableModel *modelUchiot1;
~Wind1();
int num;
QSqlQuery query;
private slots:
void on_pushButton_clicked();
private:
Ui::Wind1 *ui;
};
#endif // WIND1_H
Wind1.cpp
void Wind1::on_pushButton_clicked()
{
switch(num)
{
case 0:
query.exec("INSERT INTO 'MyBase'." + modelabonents1->tableName() + "(kod_abonenta, FIO, adres, ploshad_doma, kolvo_propisannyh,kolvl_lgotnikov, Uchastok) VALUES (" + ui->lineEdit->text() + ',' + ui->lineEdit_2->text() + ',' + ui->lineEdit_3->text() + ',' + ui->lineEdit_4->text() + ',' + ui->lineEdit_5->text() + ',' + ui->lineEdit_6->text() + ',' + ui->lineEdit_7->text() + ");");
break;
case 1:
query.exec("INSERT INTO 'MyBase'." + modelLgotniki1->tableName() + "(kod_abonenta, FIO_lgotnika, kod_kategorii) VALUES (" + ui->lineEdit->text() + ',' + ui->lineEdit_2->text() + ',' + ui->lineEdit_3->text() + ");");
break;
case 2:
query.exec("INSERT INTO 'MyBase'." + modelLgoty1->tableName() + "(kod_kategorii,osnovanie,koefficient) VALUES (" + ui->lineEdit->text() + ',' + ui->lineEdit_2->text() + ',' + ui->lineEdit_3->text() + ");");
break;
case 3:
query.exec("INSERT INTO 'MyBase'." + modelTarify1->tableName() + "(kod_tarifa,god,mesyac,tarif) VALUES (" + ui->lineEdit->text() + ',' + ui->lineEdit_2->text() + ',' + ui->lineEdit_3->text() + ',' + ui->lineEdit_4->text() + ");");
break;
case 4:
query.exec("INSERT INTO 'MyBase'." + modelUchiot1->tableName() + "(kod_abonenta,pokazaniya_schyotchika,data_snyatiya,kod_tarifa) VALUES (" + ui->lineEdit->text() + ',' + ui->lineEdit_2->text() + ',' + ui->lineEdit_3->text() + ',' + ui->lineEdit_4->text() + ");");
break;
}
}