S
sergey
I'm new to C++ and I need to create DB connection pool.
Here is the class that I have:
class uudb
{
public:
uudb();
~uudb();
sptk::CODBCDatabase handle;
void connect(std::string login, std::string password, int server,
std::string sessionid);
void disconnect();
};
uudb::uudb() : handle("DSN=PostgreSQL;UID=serge;PWD=;DATABASE=uu")
{
cout<<"\nOpening DB ...\n";
handle.open();
}
uudb::~uudb()
{
cout<<"\nClosing DB ...\n";
handle.close();
}
void uudb::connect(string login, string password, int server, string
sessionid)
{
try {
CQuery loginQuery(&handle,"select
loginlogin,assword,:server)");
loginQuery.param("login") = login;
loginQuery.param("password") = password;
loginQuery.param("server") = server; //
lexical_cast<string>(server);
loginQuery.exec();
cout<<"\nConnected\n";
}
catch (exception& e) {
cout<<"\nError: " <<e.what();
}
}
void uudb::disconnect()
{
try {
CQuery logoutQuery(&handle,"select logout()");
logoutQuery.exec();
cout<<"\nDisconnected\n";
}
catch (exception& e) {
cout<<"\nError: " <<e.what();
}
}
I need to pass this handle to other classes, so they can use it to
communicate with DB, but I have no idea how to do it.
Your help is appreciated.
Here is the class that I have:
class uudb
{
public:
uudb();
~uudb();
sptk::CODBCDatabase handle;
void connect(std::string login, std::string password, int server,
std::string sessionid);
void disconnect();
};
uudb::uudb() : handle("DSN=PostgreSQL;UID=serge;PWD=;DATABASE=uu")
{
cout<<"\nOpening DB ...\n";
handle.open();
}
uudb::~uudb()
{
cout<<"\nClosing DB ...\n";
handle.close();
}
void uudb::connect(string login, string password, int server, string
sessionid)
{
try {
CQuery loginQuery(&handle,"select
loginlogin,assword,:server)");
loginQuery.param("login") = login;
loginQuery.param("password") = password;
loginQuery.param("server") = server; //
lexical_cast<string>(server);
loginQuery.exec();
cout<<"\nConnected\n";
}
catch (exception& e) {
cout<<"\nError: " <<e.what();
}
}
void uudb::disconnect()
{
try {
CQuery logoutQuery(&handle,"select logout()");
logoutQuery.exec();
cout<<"\nDisconnected\n";
}
catch (exception& e) {
cout<<"\nError: " <<e.what();
}
}
I need to pass this handle to other classes, so they can use it to
communicate with DB, but I have no idea how to do it.
Your help is appreciated.