никак не могу разоброаться, как повторно использовать использовать соединение с БД. пишу так:
pqxx::result r;
try
{
pqxx::connection main_conn ( constr );
pqxx::nontransaction prew ( main_conn,"tp" );
ostringstream prequery ( "" );
prequery<<"select id_type from event_type where code="<<-1<<" and is_err = "<<"false";
r=prew.exec ( prequery.str() );
int id_type=atol ( r[0][0].c_str() );
cout<<id_type<<endl;
pqxx::work w ( main_conn,"uth" );
ostringstream query ( "" );
query<<"select * from event "; //тут будет другой запрос.
w.exec ( query.str() );
// cout<<r[0][0].c_str();
w.commit();
}
catch ( ... )
{
cout<<"database exception";
}
причем все останавливается на w.exec(). попытка писать каждый запрос в своем try дает такой же эффект, что удивляет еще больше.
подскажите пожалуйста как с этим бороться?