void AddPerson::on_addPerson_clicked() { QString salary = ui->personSalary->text(); if(salary.length() == 0 || post.length() == 0){ QMessageBox::critical(this, "Fields", "Заповніть всі поля!!!") ; return; } if(ui->personName->text().length() > 100 || ui->personLogin->text().length() > 100 || ui->personSecondName->text().length() > 100 || ui->personEmail->text().length() > 100 || ui->personskype->text().length() > 100) { QMessageBox::critical(this, "Fields", "Поля Імя, Прізвище, Логін, Емаіл, Скайп мають бути коротші ніж 100 символів!!") ; return; } QSqlQuery query; QString array_text = "array[]::int[])"; if (skills.length() > 0){ array_text = "ARRAY[" + skills.join(",") + "])"; } query.prepare("SELECT create_person(:first_name, :last_name, :education, :salary, :login," " :email, :skype, :phone, :access_type, :birthday, :post_id," + array_text); query.bindValue(":first_name", ui->personName->text()); query.bindValue(":education", ui->personEducation->toPlainText()); query.bindValue(":last_name", ui->personSecondName->text()); query.bindValue(":salary", ui->personSalary->text()); query.bindValue(":login", ui->personLogin->text()); query.bindValue(":email", ui->personEmail->text()); query.bindValue(":skype", ui->personskype->text()); query.bindValue(":phone", ui->personPhone->text()); query.bindValue(":access_type", ui->personAccessType->currentText()); query.bindValue(":birthday", ui->personBirthday->date().toString()); query.bindValue(":post_id", post); executeInsert(query); }
bool DataSourceInterface::executeInsertInternal(Query& query, void* entity) { DataSourceEntityMapping dsemp = mapping->getDataSourceEntityMapping(query.getClassName()); ClassInfo clas = reflector->getClassInfo(query.getClassName(), appName); if(dsemp.isIdGenerate() && dsemp.getIdgendbEntityType()!="identity") { assignId(dsemp, clas, entity); } bool flag = executeInsert(query, entity); if(flag && dsemp.isIdGenerate() && dsemp.getIdgendbEntityType()=="identity") { assignId(dsemp, clas, entity); } return flag; }