tntdb::Connection Class Reference

This class holds a connection to a database. More...

#include <connection.h>

List of all members.

Public Member Functions

 Connection ()
 Instantiate a empty connection-object.
 Connection (IConnection *conn_)
 Initialize this class with a connection.
void close ()
 Remove the reference to the connected database.
void beginTransaction ()
 Starts a transaction.
void commitTransaction ()
 Commits the current transaction.
void rollbackTransaction ()
 Rolls back the current transaction.
size_type execute (const std::string &query)
 Executes a static query, without returning results.
Result select (const std::string &query)
 Executes a static query, which returns a result.
Row selectRow (const std::string &query)
 Executes a static query, which returns a result.
Value selectValue (const std::string &query)
 Executes a static query, which returns a result.
Statement prepare (const std::string &query)
 Creates a new Statement-object, with the given query.
Statement prepareCached (const std::string &query)
 Creates a new Statement-object, with the given query and stores the statement in a cache.
void clearStatementCache ()
 Clears the cache, built with prepareCache.
bool operator! () const
 Returns true, when there is no connection established.
const IConnection * getImpl () const
 Returns the actual implementation-class.


Detailed Description

This class holds a connection to a database.

Normally you will create a connection with tntdb::connect(url). The actual connection is referencecounted. You can copy this class as you need. When the last copy of it is destroyed, the connection is closed.

Example:

   try
   {
     tntdb::Connection conn = tntdb::connect("postgresql:dbname=mydatabase");
     tntdb::Result res = conn.select("select col1, col2 from mytable");
     for (tntdb::Result::const_iterator it = res.begin(); it != res.end(); ++it)
       std::cout << "col1=" << it->getString() << " col2=" << it->getInt() << std::endl;
   }
   catch (const std::exception& e)
   {
     std::cerr << e.what() << std::endl;
   }


Constructor & Destructor Documentation

tntdb::Connection::Connection (  )  [inline]

Instantiate a empty connection-object.

tntdb::Connection::Connection ( IConnection *  conn_  )  [inline]

Initialize this class with a connection.


Member Function Documentation

void tntdb::Connection::close (  )  [inline]

Remove the reference to the connected database.

If this was the last reference, the connection is actually closed.

void tntdb::Connection::beginTransaction (  ) 

Starts a transaction.

Normally this is not needed. It is better to use the class tntdb::Transaction instead.

void tntdb::Connection::commitTransaction (  ) 

Commits the current transaction.

void tntdb::Connection::rollbackTransaction (  ) 

Rolls back the current transaction.

size_type tntdb::Connection::execute ( const std::string &  query  ) 

Executes a static query, without returning results.

The query is normally a INSERT-, UPDATE- or DELETE-statement. As with the other query-execution-methods this should be used only for static queries. When you need to pass parameters it is always better to use tntdb::Statement.

Result tntdb::Connection::select ( const std::string &  query  ) 

Executes a static query, which returns a result.

The query is normally a SELECT-statement.

Row tntdb::Connection::selectRow ( const std::string &  query  ) 

Executes a static query, which returns a result.

The first row is returned. If the query does not return rows, the exception tntdb::NotFound is thrown.

Value tntdb::Connection::selectValue ( const std::string &  query  ) 

Executes a static query, which returns a result.

The first value of the first row is returned. If the query does not return rows, the exception tntdb::NotFound is thrown.

Statement tntdb::Connection::prepare ( const std::string &  query  ) 

Creates a new Statement-object, with the given query.

Statement tntdb::Connection::prepareCached ( const std::string &  query  ) 

Creates a new Statement-object, with the given query and stores the statement in a cache.

When called again with the same query, the cached result is returned.

void tntdb::Connection::clearStatementCache (  )  [inline]

Clears the cache, built with prepareCache.

bool tntdb::Connection::operator! (  )  const [inline]

Returns true, when there is no connection established.

const IConnection* tntdb::Connection::getImpl (  )  const [inline]

Returns the actual implementation-class.


The documentation for this class was generated from the following file:
Generated on Mon Nov 20 14:35:38 2006 for tntdb by  doxygen 1.5.1