Доброго времени суток.
В таблицу Kod с полями
kodsv integer NOT NULL,
kodg integer NOT NULL,
kodk integer NOT NULL
Нужно добавить информацию с комбобоксов...., 1 и 2 комбобокс содержат именно значения ключей kodsv,kodg, А вот 3 комбобокс наполняется названием квалификации а не кодом... в этом возникает сложность... так как для добавления мне нужен kodk...
Взять его можно из таблицы Kvalif которая имеет два поля
kodk integer NOT NULL, - нужный мне код!!!!!
namekvf text NOT NULL, - название которое пользователь выбирает в 3 комбобоксе!!
Сейчас код выглядит так...
QSqlQuery querys;
querys.prepare("INSERT INTO kod (kodsv,kodg,kodk) VALUES ( :kodsv,:kodg,2)");
querys.bindValue(":kodsv", ui->comboBox_3->currentText());
querys.bindValue(":kodg", ui->comboBox_5->currentText());
querys.exec();
Так все добавляет как надо) НОО!! Значение поля Kodk я вписал вручную...
Моя задача получить kodk , зная значение namekvf...
Пробовал так... Но тогда вообще ничего не добавляется.... Посмотрите может подскажите варианты кодов , опробую...
void Form4::on_pushButton_clicked()
{
QSqlQuery query;
query.prepare("select kodk from kvalif where namekvf = :namekvf");
query.bindValue(":kodsv", ui->comboBox_3->currentText());
if (!query.exec())
{
QMessageBox::warning(0, "Error", query.lastError().text());
qDebug()<< "ERROR: " << query.lastError().text();
return;
}
else
{
QString kodk;
while (query.next())
{
kodk =query.value(0).toString();
}
QSqlQuery querys;
querys.prepare("INSERT INTO kod (kodsv,kodg,kodk) VALUES ( :kodsv,:kodg,:kodk)");
querys.bindValue(":kodsv", ui->comboBox_3->currentText());
querys.bindValue(":kodg", ui->comboBox_5->currentText());
querys.bindValue(":kodk",kodk);
querys.exec();
this->close();
}
}