Basisklasse für Ergebnisse aus Datenbank-Selects.
Mehr ...
|
enum | Type {
Error =-1,
Unknown =0,
Integer,
Decimal,
Bit,
Timestamp,
Date,
Time,
DateTime,
String,
Binary,
Enum
} |
| Mögliche Datentypen. Mehr ...
|
|
- Include:
- #include <ppl6-db.h>
- Beschreibung:
- Dies ist eine virtuelle Basisklasse für das Aufnehmen des Ergebnisses eines Datenbank-Selects. Die tatsächliche Implementierung ist Datenbank-spezifisch, daher hat jede Datenbank-Klasse eine eigene abgeleitete Implementierung davon. Mit Ihren Funktionen können die Ergebniszeilen aus einem Select durchwandert und ausgelesen werden.
- Die Klasse wird durch Aufruf verschiedener Funktionen innerhalb der Klasse ppl6::db::Database (bzw. davon abgeleiteten Klassen) erstellt und muss von der aufrufenden Anwendung selbst mit
delete
gelöscht werden.
- Beispiel:
- Das nachfolgende Beispiel zeigt unter Verwendung einer MySQL-Datenbank, wie die Result-Klasse verwendet werden kann.
int DB_Result_Example1() {
param.
Set(
"host",
"db.pfp.de");
param.
Set(
"port",
"3306");
param.
Set(
"user",
"patrick");
param.
Set(
"password",
"xxxxxxx");
param.
Set(
"dbname",
"test");
return 0;
}
if (!res) {
return 0;
}
printf (
"Es wurden %lli Datensätze gefunden:\n",res->
Rows());
printf ("Name: %s, Email: %s\n",row["name"],row["email"]);
}
delete res;
}
Aufzählungswerte |
---|
Error |
Dieser Wert wird von der Funktion Result::FieldType im Fehlerfall zurückgegeben.
|
Unknown |
Der Datentyp ist unbekannt
|
Integer |
Ein Zahlenwert vom Typ Integer
|
Decimal |
Ein Zahlenwert mit Kommastellen. Häufig ein Float oder Double
|
Bit |
Ein boolscher Wert
|
Timestamp |
Ein Zeitstempel, meist UTC
|
Date |
Ein Datumswert
|
Time |
Eine Uhrzeit
|
DateTime |
Kombination aus Datum und Uhrzeit
|
String |
Ein String
|
Binary |
Ein großer String oder Binärwert
|
Enum |
Eine Enumeration
|
ppl6::db::Result::Result |
( |
| ) |
|
Dies ist der Konstruktor der Klasse. Er sorgt dafür, dass die internen Variablen initialisiert werden.
ppl6::db::Result::~Result |
( |
| ) |
|
|
virtual |
Der Destruktor sorgt dafür, dass sämtlicher durch die Klasse allokierter Speicher wieder freigegeben wird. Dazu wird die Funktion Result::Clear aufgerufen.
pplint64 ppl6::db::Result::Affected |
( |
| ) |
|
|
virtual |
War der Datenbank-Query ein Select, liefert diese Funktion genau wie Result::Rows die Anzahl Zeilen im Ergebnis zurück. Handelete es sich um ein Update/Insert/Replace, wird die Anzahl betroffener bzw. veränderter Datensätze zurückgegeben. Die Information kann auch über Funktion Database::GetAffectedRows der Datenbank-Klasse ausgelesen werden.
- Rückgabe
- Anzahl betroffender Datensätze, im Fehlerfall -1
Erneute Implementation in ppl6::db::GenericResult.
void ppl6::db::Result::Clear |
( |
| ) |
|
|
virtual |
- Beschreibung:
- Durch Aufruf dieser Funktion wird der interne Speicher und Datenbank- oder Result-spezifische Handles freigegeben. Nach Aufruf der Funktion kann daher nicht mehr auf die vormals vorhandenen Ergebnisse des Datenbank-Selects zugegriffen werden. Die Funktion braucht in der Regel nicht aufgerufen zu werden, da dies auch der Destruktor der Klasse macht.
Erneute Implementation in ppl6::db::GenericResult.
- Beschreibung:
- Mit diesem Befehl wird das Result-Set dieses Objekts als Strings mit Key-Value-Paaren in ein CAssocArray kopiert. Das Array kann in ein GenericResult-Objekt mittels GenericResult::Import wieder importiert werden. Da alles als String exportiert wird, gehen die Datentyp-Informationen verloren.
- Parameter
-
[out] | array | Ein assoziatives Array, in dem das Result-Set gespeichert werden soll |
- Rückgabe
- Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
CAssocArray ppl6::db::Result::FetchArray |
( |
pplint64 |
row = -1 | ) |
|
|
virtual |
Mit dieser Funktion wird eine komplette Ergebniszeile in ein Assoziatives Array vom Typ CAssocArray kopiert und der interne Zeiger auf den nächsten Datensatz vorgerückt. Durch wiederholtes Aufrufen der Funktion kann man somit nach und nach alle Ergebniszeilen durchwandern.
- Parameter
-
[in] | row | Ein Optionaler Parameter, der die gewünschte Ergebniszeile angibt. Wird der Parameter weggelassen, wird der Datensatz zurückgegeben, auf den der interne Zeiger zeigt, und der Zeiger auf den nächsten Datensatz vorgerückt. |
- Rückgabe
- Liefert ein CAssocArray mit Feldern und Werten der aktuellen Ergebniszeile zurück. Im Fehlerfall oder falls keine weiteren Ergebniszeilen vorhanden sind, wird ein leeres CAssocArray zurückgeliefert.
Erneute Implementation in ppl6::db::GenericResult.
int ppl6::db::Result::FetchArray |
( |
CAssocArray & |
array, |
|
|
pplint64 |
row = -1 |
|
) |
| |
|
virtual |
Mit dieser Funktion wird eine komplette Ergebniszeile in das Assoziative Array array
kopiert und der interne Zeiger auf den nächsten Datensatz vorgerückt. Durch wiederholtes Aufrufen der Funktion kann man somit nach und nach alle Ergebniszeilen durchwandern.
- Parameter
-
[out] | array | Ein Objekt vom Typ CAssocArray, in dem das Ergebnis gespeichert werden soll. Daten, die vor Aufruf in array enthalten sind, werden durch die Funktion gelöscht. |
[in] | row | Ein Optionaler Parameter, der die gewünschte Ergebniszeile angibt. Wird der Parameter weggelassen, wird der Datensatz zurückgegeben, auf den der interne Zeiger zeigt, und der Zeiger auf den nächsten Datensatz vorgerückt. |
- Rückgabe
- Im Erfolgsfall liefert die Funktion 1 zurück, im Fehlerfall oder falls keine weiteren Ergebniszeilen vorhanden sind 0.
Erneute Implementation in ppl6::db::GenericResult.
CArray ppl6::db::Result::FetchFields |
( |
pplint64 |
row = -1 | ) |
|
|
virtual |
Mit dieser Funktion wird eine komplette Ergebniszeile in ein Array vom Typ CArray kopiert und der interne Zeiger auf den nächsten Datensatz vorgerückt. Durch wiederholtes Aufrufen der Funktion kann man somit nach und nach alle Ergebniszeilen durchwandern.
- Parameter
-
[in] | row | Ein Optionaler Parameter, der die gewünschte Ergebniszeile angibt. Wird der Parameter weggelassen, wird der Datensatz zurückgegeben, auf den der interne Zeiger zeigt, und der Zeiger auf den nächsten Datensatz vorgerückt. |
- Rückgabe
- Liefert ein CArray mit Feldern und Werten der aktuellen Ergebniszeile zurück. Im Fehlerfall oder falls keine weiteren Ergebniszeilen vorhanden sind, wird ein leeres CArray zurückgeliefert.
Erneute Implementation in ppl6::db::GenericResult.
int ppl6::db::Result::FetchFields |
( |
CArray & |
array, |
|
|
pplint64 |
row = -1 |
|
) |
| |
|
virtual |
Mit dieser Funktion wird eine komplette Ergebniszeile in das Array array
kopiert und der interne Zeiger auf den nächsten Datensatz vorgerückt. Durch wiederholtes Aufrufen der Funktion kann man somit nach und nach alle Ergebniszeilen durchwandern.
- Parameter
-
[out] | array | Ein Objekt vom Typ CArray, in dem das Ergebnis gespeichert werden soll. Daten, die vor Aufruf in array enthalten sind, werden durch die Funktion gelöscht. |
[in] | row | Ein Optionaler Parameter, der die gewünschte Ergebniszeile angibt. Wird der Parameter weggelassen, wird der Datensatz zurückgegeben, auf den der interne Zeiger zeigt, und der Zeiger auf den nächsten Datensatz vorgerückt. |
- Rückgabe
- Im Erfolgsfall liefert die Funktion 1 zurück, im Fehlerfall oder falls keine weiteren Ergebniszeilen vorhanden sind 0.
Erneute Implementation in ppl6::db::GenericResult.
const char * ppl6::db::Result::FieldName |
( |
int |
num | ) |
|
|
virtual |
Dies ist die Umkehrfunktion zu Result::FieldNum. Sie liefert den Namen eines bestimmten Feldes anhand dessen Spaltennummer num
zurück, sofern sie vorhanden ist.
- Parameter
-
[in] | num | Gewünschte Spaltennummer |
- Rückgabe
- Ist die Spalte vorhanden, wird deren Namen als String zurückgegeben, im Fehlerfall NULL.
Erneute Implementation in ppl6::db::GenericResult.
int ppl6::db::Result::FieldNum |
( |
const char * |
fieldname | ) |
|
|
virtual |
Diese Funktion liefert die Spaltennummer des Feldes mit dem Namen fieldname
zurück, sofern dieses vorhanden ist.
- Parameter
-
[in] | fieldname | Name des gesuchten Feldes |
- Rückgabe
- Ist das Feld vorhanden, wird dessen Spaltennummer zurückgegeben. Die Zählung der Spalten fängt dabei bei 0 an. Im Fehlerfall wird -1 zurückgegeben.
Erneute Implementation in ppl6::db::GenericResult.
int ppl6::db::Result::Fields |
( |
| ) |
|
|
virtual |
Diese Funktion liefert die Anzahl Spalten im Ergebnis des vorhergehenden Selects zurück.
- Rückgabe
- Anzahl Spalten oder -1 im Fehlerfall.
Erneute Implementation in ppl6::db::GenericResult.
Mit dieser Funktion kann man abfragen, was für ein Datentyp das Feld num
ist.
- Parameter
-
[in] | num | Die gewünschte Spalte |
- Rückgabe
- Liefert einen Wert vom Typ Result::Type zurück, im Fehlerfall Result:Error.
Erneute Implementation in ppl6::db::GenericResult.
Result::Type ppl6::db::Result::FieldType |
( |
const char * |
fieldname | ) |
|
|
virtual |
Mit dieser Funktion kann man abfragen, was für ein Datentyp das Feld mit dem Namen fieldname
ist.
- Parameter
-
[in] | fieldname | Die gewünschte Spalte |
- Rückgabe
- Liefert einen Wert vom Typ Result::Type zurück, im Fehlerfall Result:Error.
Erneute Implementation in ppl6::db::GenericResult.
const char * ppl6::db::Result::Get |
( |
pplint64 |
row, |
|
|
const char * |
fieldname |
|
) |
| |
|
virtual |
- Beschreibung:
- Mit dieser Funktion wird der Wert des Feldes mit dem Namen
fieldname
aus der Ergebniszeile row
als String zurückgegeben.
- Parameter
-
[in] | row | Die gewünschte Ergebniszeile |
[in] | fieldname | Der Name des auszulesenden Feldes |
- Rückgabe
- Ist das Feld vorhanden, wird ein Pointer auf dessen Inhalt zurückgegeben, im Fehlerfall NULL.
Erneute Implementation in ppl6::db::GenericResult.
const char * ppl6::db::Result::Get |
( |
pplint64 |
row, |
|
|
int |
field |
|
) |
| |
|
virtual |
- Beschreibung:
- Mit dieser Funktion wird der Wert des Feldes in Spalte
field
aus der Ergebniszeile row
als String zurückgegeben.
- Parameter
-
[in] | row | Die gewünschte Ergebniszeile |
[in] | field | Der Nummer der auszulesenden Spalte |
- Rückgabe
- Ist das Feld vorhanden, wird ein Pointer auf dessen Inhalt zurückgegeben, im Fehlerfall NULL.
Erneute Implementation in ppl6::db::GenericResult.
void ppl6::db::Result::PrintResult |
( |
| ) |
|
|
virtual |
Durch AUfruf dieser Funktion wird das Ergebnis des Selects auf STDOUT ausgegeben.
Erneute Implementation in ppl6::db::GenericResult.
pplint64 ppl6::db::Result::Rows |
( |
| ) |
|
|
virtual |
Diese Funktion liefert die Anzahl Zeilen im Ergebnis des vorhergehenden Selects zurück.
- Rückgabe
- Anzahl Zeilen (rows). Im Fehlerfall wird -1 zurückgegeben.
- Siehe auch
- Result::Fields gibt die Anzahl Spalten im Ergebnis zurück
Erneute Implementation in ppl6::db::GenericResult.
int ppl6::db::Result::Seek |
( |
pplint64 |
row | ) |
|
|
virtual |
Mit dieser Funktion wird der interne Datenzeiger auf die gewünschte Zeile row
gesetzt, so dass diese beim nächsten Aufruf von Result::FetchArray zurückgeliefert wird.
- Parameter
-
[in] | row | Die gewünschte Zeile |
- Rückgabe
- Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0.
Erneute Implementation in ppl6::db::GenericResult.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
- /jenkins/jobs/clang_ppl6/workspace/include/ppl6-db.h
- /jenkins/jobs/clang_ppl6/workspace/src/database/Result.cpp