int dmModule::setGenGoods(const int gen){ QString query_str = "SET GENERATOR GEN_SPRGOODS_ID TO ?"; QSqlQuery *query = new QSqlQuery(dmModule::db); query->prepare(query_str); query->addBindValue(gen); query->setForwardOnly(true); query->exec(); if(query->lastError().isValid()){ QMessageBox::about(0,"errror",query->lastError().text()+query->lastQuery()); } dmModule::db.commit(); delete query; return 0;}
//объявлено соединение статически в классе предке//начали транзакцию dmBaseModule::db.transaction(); QString query_str = "SET GENERATOR GEN_SPRGOODS_ID TO ?"; QSqlQuery *query = new QSqlQuery(dmBaseModule::db); query->prepare(query_str); query->addBindValue(gen); query->setForwardOnly(true); query->exec(); if(query->lastError().isValid()){ QMessageBox::about(0,"errror",query->lastError().text()+query->lastQuery()); }//тут вроде коммит dmBaseModule::db.commit();
select gen_id(gen_sprgoods_id,1) from sometable
int dmModule::setGenGoods(const int gen){ dmBaseModule::db.transaction(); QString query_str = "ALTER SEQUENCE GEN_SPRGOODS_ID RESTART WITH "+QString::number(gen); QSqlQuery *query = new QSqlQuery(dmBaseModule::db); // query->prepare(query_str); // query->addBindValue(gen); if(!query->exec(query_str)){ QMessageBox::about(0,"errror",query->lastError().text()+query->lastQuery()); dmBaseModule::db.rollback(); delete query; return 0; } dmBaseModule::db.commit(); delete query; return 1;}