BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- C++ Objekt-Relationales Mapping (am besten für Qt) (http://www.black-board.net/thread.php?threadid=23527)


Geschrieben von Zirias am 17.10.2008 um 03:45:

Fragezeichen Objekt-Relationales Mapping (am besten für Qt)

Gesucht: Bequem zu benutzendes objekt-relationales Mapping, idealerweise mit Designer-App, die mit MySQL und/oder PostgreSQL zusammenarbeiten kann. BESONDERS schön wäre natürlich eine Integration in Qt

edit:
Wer das aktuelle .NET Framework 3.5 SP 1 von MS kennt: Da gibt es das ADO.NET Entity Framework, was ich nach einigem Testen wirklich sehr gelungen finde. Leider ist das keine vernünftige Lösung für meine privaten Software-Projekte, die möglichst Platform-unabhängig bleiben sollen. Mono unterstützt aktuell nur .NET 2.0 und Teile von .NET 3.0 ...



Geschrieben von phlox81 am 17.10.2008 um 16:38:

 

Hm, kenne als gute SQL Lib SOCI (http://soci.sourceforge.net), aber das ist wohl nicht ganz was du willst. Ansonsten für QT, hab ich noch nichts von gehört. Evtl. gibts für Eclipse was, ausserdem will Trolltech bald eine eigene IDE für QT vorstellen, aber DB Unterstützung fehlt da glaube ich.

phlox



Geschrieben von Zirias am 17.10.2008 um 19:48:

 

Naja in Qt selbst gibt es ja auch nichts, was eine IDE da besonders "unterstützen" könnte. Qt hat leider nicht mehr als eine Datenbank-unabhängige API zum absetzen von SQL Statements und auslesen von Resultsets, dazu noch ein paar SQL DataModel-Klassen...

Der Link ist ziemlich interessant .. ist zwar wirklich nicht DAS was ich suche, aber immerhin ein kleiner Teil davon smile Richtig schön wäre es eben, wenn man sich zur Kommunikation mit der Datenbank komplett von SQL trennen könnte.



Geschrieben von phlox81 am 07.02.2009 um 10:19:

 

Ich überlege gerade genau das gleiche.
Abgesehen das ich als Frontend wxWidgets nehme.

Werde mir wohl einen Parser für CREATE TABLE basteln, und eine entsprechende tabelle fürs das mappen der Datentypen. Dann kann ich mit meinem Codegenerierungsframework die notwendigen Klassen generieren.

In etwa so:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
// tabelle product (VARCHAR name(50), DECIMAL preis)

// generated code

struct product
{
  std::string name;
  double preis;
};

namespace soci{
template<>
struct TypeConversion<product>
{
...
};
}
class ProductPanel : wxPanel
{
  wxStaticText* stxt_name,stxt_preis;
  wxTextCtrl* txt_name, txt_preis;
...
};



SOCI bietet ja auch Unterstützung für boost::optional/tuple.

phlox



Geschrieben von phlox81 am 11.06.2009 um 22:12:

 

So es gibt einen ersten Prototypen für das Tool:

http://codenode.de/sql2cpp.html

phlox


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH