PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
Datenbanken

Datenbank-Klassen. Mehr ...

Ausführliche Beschreibung

Beschreibung:
Die nachfolgenden Klassen und Funktionen können verwendet werden, um auf verschiedene Datenbanken zuzugreifen. Die Funktionen und Klassen befinden sich im Namespace ppl7::db.
Verwendung:
Um Queries auf einer Datenbank auszuführen, muss zunächst eine Verbindung hergestellt werden. Im einfachsten Fall wird dazu eine Instanz der gewünschten Datenbank erstellt (z.B. ppl7::db::MySQL) und deren Connect-Funktion aufgerufen, oder die Funktion ppl7::db::Connect aufgerufen, die als Ergebnis einen Pointer auf ein ppl7::db::Database-Objekt zurückliefert.
Anschließend können mit der ppl7::db::Exec oder ppl7::db::Query-Funktion des Objekts SQL-Queries ausgeführt werden, wobei Exec nur ein "Erfolgreich" zurückliefert, aber keine Daten, und Query ein ppl7::db::ResultSet-Objekt zurückliefert, aus dem das Ergebnis des Queries ausgelesen werden kann.
Falls man sehr viele Datenbank-Verbindungen parallel benötigt, können zur Verwaltung auch Datenbank-Pools verwendet werden. Hiervon gibt es 2 Stück:
  1. ppl7::db::Pool zur Verwaltung von beliebig vielen Verbindungen zu einer einzelnen Datenbank
  2. ppl7::db::PoolEx zur Verwaltung von beliebig vielen Verbindungen zu verschiedenen Datenbanken

Klassen

class  ppl7::db::Database
 Basisklasse für verschiedene Datenbanken. Mehr ...
 
class  ppl7::db::MySQL
 Implementierung einer Postgres-Datenbank. Mehr ...
 
class  ppl7::db::PostgreSQL
 Implementierung einer Postgres-Datenbank. Mehr ...
 
class  ppl7::db::ResultSet
 Ergebnis eines Datenbank-Selects. Mehr ...
 
class  ppl7::db::SinglePool
 Klasse zur Verwaltung von Datenbank-Verbindungen. Mehr ...
 
class  ppl7::db::SQLite
 Implementierung einer SQLite-Datenbank. Mehr ...
 

Namensbereiche

 ppl7::db
 Namensraum der Datenbank-Funktionen und Klassen.
 

Funktionen

Database * ppl7::db::Connect (const AssocArray &params)
 Verbindung zu einer Datenbank herstellen. Mehr ...
 

Dokumentation der Funktionen

Database * ppl7::db::Connect ( const AssocArray &  params)
Include:
#include <ppl7-db.h>
Beschreibung:
Mit dieser Funktion wird eine neue Datenbank-Klasse erstellt und eine Verbindung zu der gewünschten Datenbank aufgebaut. Die für die Erstellung der Klasse und die für den Connect erforderlichen oder optionalen Parameter werden mit dem Array params übergeben.
Die erforderlichen oder optionalen Parameter sind Datenbank-abhängig und sind in der jeweiligen Dokumentation zu finden. Es gibt jedoch eine Reihe von Parametern, die bei allen Datenbanken identisch sind:
  • host: Der Hostname oder die IP-Adresse des Datenbank-Servers
  • port: Der TCP-Port des Datenbank-Servers
  • dbname: Der Name der intialen Datenbank. Dieser Parameter kann optional sein, da mit der Funktion Database::SelectDB die Datenbank auch später noch gewechselt werden kann.
  • user: Der Name des Benutzers, mit dem sich an der Datenbank authentifiziert werden soll
  • password: Das Passwort des Benutzers im Klartext
Hinzu kommt noch der Parameter type, der den Typ der gewünschten Datenbank angibt. Unterstützt werden zur Zeit folgende Datenbanken:
  • mysql: MySQL-Datenbank
  • postgres: Postgres-Datenbank
  • sqlite3: SQLite3-Datenbank Die tatsächlich unterstützten Datenbanken hängen davon ab, wie PPL7 kompiliert wurde.
Postgres unterstützt zusätzlich noch die Angabe des Suchpfades:
  • searchpath: Kommaseparierte Liste mit den Schemata, die in den Suchpfad aufgenommen werden sollen
Parameter
paramsEin Assoziatives Array mit den für den Connect erforderlichen Parameter.
Rückgabe
Bei Erfolg liefert die Funktion einen Pointer auf ein Database-Objekt zurück. Im Fehlerfall wird eine Exception geworfen.
Beispiel:
int DB_Example1() {
ppl6::CAssocArray param;
param.Set("type","mysql");
param.Set("host","db.pfp.de");
param.Set("port","3306");
param.Set("user","patrick");
param.Set("password","xxxxxxx");
param.Set("dbname","test");
ppl6::db::Database *db=ppl6::db::Connect(param);
if (!db) {
ppl6::PrintError();
return 0;
}
} // EOF