|
tntdb
1.3
|
This class holds a connection to a database. More...
#include <connection.h>
Public Types | |
| typedef unsigned | size_type |
Public Member Functions | |
| Connection () | |
| Instantiate a empty connection-object. More... | |
| Connection (IConnection *conn_) | |
| Initialize this class with a connection. More... | |
| void | close () |
| Remove the reference to the connected database. More... | |
| void | beginTransaction () |
| Starts a transaction. More... | |
| void | commitTransaction () |
| Commits the current transaction. More... | |
| void | rollbackTransaction () |
| Rolls back the current transaction. More... | |
| size_type | execute (const std::string &query) |
| Executes a static query, without returning results. More... | |
| Result | select (const std::string &query) |
| Executes a static query, which returns a result. More... | |
| Row | selectRow (const std::string &query) |
| Executes a static query, which returns a result. More... | |
| Value | selectValue (const std::string &query) |
| Executes a static query, which returns a result. More... | |
| Statement | prepare (const std::string &query) |
| Creates a new Statement-object, with the given query. More... | |
| Statement | prepareCached (const std::string &query, const std::string &key) |
| Like prepareCached but use the passed string as a cache key. More... | |
| Statement | prepareCached (const std::string &query) |
| Creates a new Statement-object, with the given query and stores the statement in a cache. More... | |
| void | clearStatementCache () |
| Clears the cache, built with prepareCache. More... | |
| bool | clearStatementCache (const std::string &key) |
| Remove a query from the statement cache. More... | |
| bool | ping () |
| returns true, if connection is alive. More... | |
| long | lastInsertId (const std::string &name=std::string()) |
| returns the last inserted insert id. More... | |
| bool | operator! () const |
| Returns true, when there is no connection established. More... | |
| const IConnection * | getImpl () const |
| Returns the actual implementation-class. More... | |
| IConnection * | getImpl () |
| Returns the actual implementation-class. More... | |
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:
|
inline |
Instantiate a empty connection-object.
|
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.
|
inline |
Clears the cache, built with prepareCache.
|
inline |
Remove a query from the statement cache.
The return value indicates, if the query was found in the cache. When the query was found, true is returned.
|
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.
|
inline |
Returns the actual implementation-class.
|
inline |
Returns the actual implementation-class.
|
inline |
returns the last inserted insert id.
|
inline |
Returns true, when there is no connection established.
|
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, |
| const std::string & | key | ||
| ) |
Like prepareCached but use the passed string as a cache key.
Since queries are normally quite lengthy, they are not that fast as a lookup key. For better performance of the cache it is feasible to give a shorter key for the query. But it is the user, who is in charge to use unique keys.
|
inline |
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.