#include <connection.h>
Public Types | |
typedef unsigned | size_type |
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 | ping () |
returns true, if connection is alive | |
bool | operator! () const |
Returns true, when there is no connection established. | |
const IConnection * | getImpl () const |
Returns the actual implementation-class. |
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; }
tntdb::Connection::Connection | ( | ) | [inline] |
Instantiate a empty connection-object.
tntdb::Connection::Connection | ( | IConnection * | conn_ | ) | [inline] |
Initialize this class with a connection.
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::clearStatementCache | ( | ) | [inline] |
Clears the cache, built with prepareCache.
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::commitTransaction | ( | ) |
Commits 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.
const IConnection* tntdb::Connection::getImpl | ( | ) | const [inline] |
Returns the actual implementation-class.
bool tntdb::Connection::operator! | ( | ) | const [inline] |
Returns true, when there is no connection established.
bool tntdb::Connection::ping | ( | ) | [inline] |
returns true, if connection is alive
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::rollbackTransaction | ( | ) |
Rolls back the current transaction.
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.