Datenbankprogrammierung mit C++ und WIN XP



  • Normalerweise benutzt man eine Datenbank und sagt ihr nur, wo und wie sie etwas speichern soll. Da gibt es verschiedene Möglichkeiten, je nach Anforderungen und Komplexität. Die simpelste Form ist eine einfache Textdatei, z.B. im CSV Format. Komplexer und leistungsfähiger ist ein Datenbank-Server, z.B. MySQL, MS SQL Server, PostgreSQL.

    Alle Datenbanken spricht man für gewöhnlich mit SQL an.

    Da du Anfänger bist und wohl auch nur eine kleine Anwendung machen willst, wäre CSV eine Möglichkeit. So ein Mittelding ist eine Embedded-Datenbank, z.B. SQLite und BerleyDB. Die sind gut für Desktop-Anwendungen.

    Einfach mal mit Google nach den Begriffen suchen.

    Für die Benutzeroberfläche gibts mehrere GUI-Bibliotheken, siehe meine Signatur.



  • naja, ich weiß zwar nich, wie man cocktailrezepte in einer acces-tabelle speichern kann, aber:

    Guck mal in die FAQ vom DatenbankuUnterForum hier, und nimm den Link zur DTL damit kannst du ganz leicht acces-DBs bearbeiten. Sowohl Container-mäßig mit Iterator und so, is dann fast wie ne Liste, sone accesstabelle, oder auch direkt mit den SQL-Befehlen.
    und dann noch http://www.connectionstrings.com/
    und dann brauchst du nich mal mehr die datenquelle in der systemsteuerung anmelden.



  • Okay,bin jetzt nen ganzes Stück weitergekommen..danke.

    Es soll erstmal ein ganz primitives Programm werden. Ich muss das Prinzip verstehen..

    Der Nutzer des Programms hat die Möglichkeit, möchte er einen Cocktail hinzufügen, folgende Elemente hinzuzufügen:
    1.Name
    2.Obst
    3.alkoholisches Getränk
    4.anti-alkoholisches Getränk

    ..und fertig, mehr nicht! Von jedem Element kann nur eine Sorte gewählt werden.
    Beispiel: Cocktail #1: Sex on the Beach; Banane; Rum; Bananensaft
    -> Wie gesagt, sehr primitiv 🙄

    Diese Elemente sollen in eine Datenbank gespeist werden um sie jederzeit über Ihren Index abzurufen. Ich denke dies lässt sich sehr gut über Access realisieren oder was könnt ihr empfehlen?



  • Ja, Access ist eine Möglichkeit (mit VBA sehr einfach).
    Ansonsten lass Access und google nach einer der oben vorgeschlagenen Datenbanken.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Es gibt zwei einfache Lösungen:
    - MFC (reines C/C++) ist aber etwas komplexer)
    - C++/CLI (.NET) mit Windows-Forms

    .NET hat für den Datenbankzugriff sehr einfache Klassen (OleDbConnection, OleDbCommand, DataSet). Auch die Oberfläche ist wesentlic einfacher zu erstellen (Windows-Forms).

    Bei MFC geht es auch, ist aber etwas komplxer (CDatabase / CRecordset).

    Natürlich kannst Du alles auch mit WinAPI machen; aber Du willst ja noch irgendwann fertig werden, oder?



  • Es gibt zwei einfache Lösungen:
    - MFC (reines C/C++) ist aber etwas komplexer)
    - C++/CLI (.NET) mit Windows-Forms

    Ich würde die Windows-Forms wählen.

    .NET hat für den Datenbankzugriff sehr einfache Klassen (OleDbConnection, OleDbCommand, DataSet). Auch die Oberfläche ist wesentlic einfacher zu erstellen (Windows-Forms).

    Was genau ist dieses .NET und Windows Forms?

    Natürlich kannst Du alles auch mit WinAPI machen; aber Du willst ja noch irgendwann fertig werden, oder?

    Oh ja, das kannst du mir glauben. Nur find ich nicht wirklich den richtigen Einstieg in die gesamte Thematik. Hab mich ebenfals entschieden mit MSAccess zu arbeiten. War bisher der Annahme das dies in Microsoft XP SP2 enthalten ist. Aber ich habe es nicht auf meinem Rechner. Kann mir jemand weiterhelfen?



  • marcel_t schrieb:

    Was genau ist dieses .NET und Windows Forms?

    Das *neue* Programmier-Paradigma von Microsoft. Ich würde aber Deinen Prof. fragen, ob Du das nehmen darfst!
    Das kostenlose VC 2005 Express kannst Du Dir ja runterladen (oder müsste von Deiner Uni gestellt werden können).
    Das ".NET" setzt aber auf dem Zielrechner das ".Net-Framework" voraus.

    Natürlich kannst Du alles auch mit WinAPI machen; aber Du willst ja noch irgendwann fertig werden, oder?

    marcel_t schrieb:

    War bisher der Annahme das dies in Microsoft XP SP2 enthalten ist. Aber ich habe es nicht auf meinem Rechner. Kann mir jemand weiterhelfen?

    Die Access-Treiber sind drauf. Nur nicht die Oberfläche dazu. Diese brauchst Du eigentlich auch nicht, wenn Du nur dagegen Programmieren willst; denn die Oberfläche schreibst ha Du!



  • Das *neue* Programmier-Paradigma von Microsoft. Ich würde aber Deinen Prof. fragen, ob Du das nehmen darfst!
    Das kostenlose VC 2005 Express kannst Du Dir ja runterladen (oder müsste von Deiner Uni gestellt werden können).
    Das ".NET" setzt aber auf dem Zielrechner das ".Net-Framework" voraus.

    Die Express Version benutze ich. Gelten dann trotzdem die Klassen "OleDbConnection, OleDbCommand, DataSet" für den Datenbankzugriff?
    Schreib ich diese Klassen selber oder wo finde ich diese?

    Die Access-Treiber sind drauf. Nur nicht die Oberfläche dazu. Diese brauchst Du eigentlich auch nicht, wenn Du nur dagegen Programmieren willst; denn die Oberfläche schreibst ha Du!

    Access ähnelt ja Excel,richtig? Also Zeilen und Spalten!? Wie schreibe ich auf diese Zeilen und Spalten?



  • Hassu die Hilfe auch installiert, weil leider(:P)/zum glück hat Microsoft eine hervorragende Hilfedokumentation, die dir Prinzipen erläutert.

    Access hat Tabellen ähnlich wie Excel aber die werden nicht so genutzt.
    Access verwaltet Datensätze und in Excel rechnet man.



  • Die Hilfe ist auf Englisch aber habe eine online Hilfe auf Deutsch.
    http://support.microsoft.com/default.aspx?scid=fh;DE;KBHOWTO

    Ist mir mit dieser Anleitung geholfen, was das lesen,schreiben und bearbeiten der einzelnen Zeilen und Spalten angeht?
    http://dtemplatelib.sourceforge.net/dtl_introduction.htm



  • marcel_t schrieb:

    Die Express Version benutze ich. Gelten dann trotzdem die Klassen "OleDbConnection, OleDbCommand, DataSet" für den Datenbankzugriff?
    Schreib ich diese Klassen selber oder wo finde ich diese?

    Erstelle halt mal eine Windows-Forms Anwendung! Dann kannst Du diese Klassen nutzen (oder auch sonstiges Databinding). Die meisten Beispiele werden zwar auf C# sein, die kann man aber ganz simple nach C++/CLI umwandeln.

    Und ja, eine deutsche Hilfe gibt es auch:
    http://msdn2.microsoft.com/de-de/library/system.data.oledb.oledbconnection.aspx


Anmelden zum Antworten