Benutzer-Werkzeuge

Webseiten-Werkzeuge


dbobject:start

Dies ist eine alte Version des Dokuments!


(SQL-)Datenbank-Objekt in QT4

Brainstorm

Ziel

  1. Design einer Bibliothek, die Datenbank-Objekte (SQL, XLM, LDAP, was auch immer) transparent als C++-Klasse zur Verfügung stellt.
  2. Das Objekt kümmert sich selbst um Anpassung an zugrunde liegendem Datenbank-Type.
  3. 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).
  4. Einfache Entwicklung von Applikationen, die auf Datenbank-Objekte zugreifen (Lesend/löschen/hinzufügen/ändern).
  5. 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

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki