dbobject:start
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
(SQL-)Datenbank-Objekt in QT4
Brainstorm
Ziel
- Design einer Bibliothek, die Datenbank-Objekte (SQL, XLM, LDAP, was auch immer) transparent als C++-Klasse zur Verfügung stellt.
- Das Objekt kümmert sich selbst um Anpassung an zugrunde liegendem Datenbank-Type.
- Das Objekt kümmert sich automatisch um Ergänzungen/Änderungen der DB-Struktur (Hinzufügen eines neuen Feldes erstellt automatisch ein neues Feld in der DB).
- Einfache Entwicklung von Applikationen, die auf Datenbank-Objekte zugreifen (Lesend/löschen/hinzufügen/ändern).
- Datenbank-Typen werden soweit möglich automatisch gewählt.
Beispiele
Ganz spontan, was mit so in der Sinn kommt:
// create DB object
DbObbject *person = new DbObject;
// setup object
person->setTable("t_person");
person->addField(DbObject::ShortString, "vorname");
person->addField(DbObject::ShortString, "name");
person->addField(DbObject::Date, "birthday");
person->addField(DbObject::Integer, "num_computers");
person->addField(DbObject::String, "comment");
// query
if(person->query("name", "Meyer")) {
// print all fields
qDebug() << person->toString();
// modify object
person->setValue("comment", "The answer is 23!");
if(person->commit())
qDebug() << "Update successfully!";
else
qDebug() << "Cannot update Meyer";
}
else
qDebug() << "Meyer not found";
dbobject/start.1224008982.txt.gz · Zuletzt geändert: 2008/10/14 20:29 von jt