welche db
-
man kann die Eingaben ja entgegen nehmen
Wie meinst du das? Also die cin-Eingabe in eine Stringvariabel speichern?
-
confused_men schrieb:
man kann die Eingaben ja entgegen nehmen
Wie meinst du das? Also die cin-Eingabe in eine Stringvariabel speichern?
Wie willst du es den sonst machen?
-
ja das war ja für mich irgendwie selbstverständlich, deswegen verwirrte mich die aussage
hat mal jemand nen beispielcode, wo eingaben in einer sql-db gespeichert werden?
das wäre echt super.
-
confused_men schrieb:
hat mal jemand nen beispielcode, wo eingaben in einer sql-db gespeichert werden?
Das hängt sehr stark von der DB-Schnittstelle ab, sqlite hat z.B. einige Beispiele - diese sehen wiederum gänzlich anders aus, als z.B. bei VCL-Komponenten vom C++ Builder, oder über .Net...
Im Endeffekt wird dies eine Insert-Klausel sein, die man entweder (im Schlechten Fall) per Stringaddition zusammenbaut, oder mittels Parametern setzt. Aber die Syntax ist ganz stark von der Schnittstelle abhängig (die SQL-Statements wiederum sind in der Regel relativ ähnlich).
-
Also letzendlich suche ich auch eine Methode wie ich über ganz normale Befehle z.b. SQL_QUERY ("INSERT ....");
meine SQL (oder andere lokale) Datenbank bearbeiten kann. Soll so unkompliziert wie möglich sein. Habs leider noch nciht hintbekommen.
-
confused_men schrieb:
Soll so unkompliziert wie möglich sein.
Warum kapselst du dann nicht einfach deine Datenbankschnittstelle entsprechend?
-
Ok frag ich mal anders: Ich habe mit c++ ein kleines Adressbuch geschrieben und möchte die Einträge nicht in einer .txt sondern ini einer DB speicher, wie würdest du rangehen.?
-
confused_men schrieb:
Ok frag ich mal anders: Ich habe mit c++ ein kleines Adressbuch geschrieben und möchte die Einträge nicht in einer .txt sondern ini einer DB speicher, wie würdest du rangehen.?
Die Antwort wird dir nicht gefallen, aber es gibt nunmal keine einheitliche Datenbankschnittstelle für C++, sondern Viele.
1. Eine entsprechende Datenbank wählen.
2. Eine passende Datenbankschnittstelle wählen.
3. Je nach Projektgröße diese Datenbankschnittstelle direkt im Code einsetzen oder die Zugriffe auf die Datenbank hinter eine Schnittstelle kapseln (Hierzu erwähne ich einfach mal den Begriff "Mehrschichtenarchitektur").Die Verwendung einer Datenbank ist immer komplexer als ein einfacher Dateizugriff. Die Frage ist aber: Was machst du daraus. Teile und Herrsche, entscheide selbst darüber wie komplex die Verwendung ist (Verberge den nötigen DB-Zugriff z.B. hinter eine Klasse oder Klassenhierarchie, die nach Außen hin eine einfache Schnittstelle bietet). Je nach Datenbankschnittstelle (die wiederum ggf. Compiler-, Frameworkabhängig sein kann) ist der Zugriff schwerer oder leichter.
Einfach empfinde ich z.B. die Verwendung der VCL (C++ Builder), nur gibt es inzwischen keine kostenlose Version des Selben mehr, und die Kosten sind für normale Privatanwender zu hoch.
-
asc schrieb:
Die Verwendung einer Datenbank ist immer komplexer als ein einfacher Dateizugriff.
Einspruch. Wenn ich strukturierte Daten wie beispielsweise ein Adressbuch habe, kann es eine kleine Herausforderung sein, die Daten strukturiert in einer flachen Datei unterzubringen. Zumindest wenn man den Anspruch hat, es richtig zu machen.
Ich könnte beispielsweise meine Adressen im csv-Format speichern. Dann muss ich das csv-Format aber auch wieder parsen. Und wenn mein Trennzeichen beispielsweise ein Komma ist, was ist, wenn meine Daten ein Komma enthalten? Oder ein Bemerkungsfeld, welches auch Zeilenschaltungen enthalten kann?
XML wäre eine Alternative. Da brauche ich "nur" einen XML Serialisierer und Parser. Ob das einfacher ist, als eine einfache Datenbankschnittstelle wage ich zu bezweifeln.
Ich habe selbst mal eine Datenbankabstraktionsschicht geschrieben, die sehr einfach zu benutzen ist. Da reichen ein paar Zeilen Code und meine Daten sind in der Datenbank. Und ein paar weitere Zeichen und sie sind wieder im Speicher. Und alles ohne mit irgendwelchen Escape-Zeichen rum zu hantieren um SQL Injection zu verhindern.
-
tntnet schrieb:
asc schrieb:
Die Verwendung einer Datenbank ist immer komplexer als ein einfacher Dateizugriff.
Einspruch. Wenn ich strukturierte Daten wie beispielsweise ein Adressbuch habe, kann es eine kleine Herausforderung sein, die Daten strukturiert in einer flachen Datei unterzubringen. Zumindest wenn man den Anspruch hat, es richtig zu machen.
Ich habe absichtlich "einfacher Dateizugriff" geschrieben. Und da unser werter confused_men noch keinerlei Datenbankabstraktionsschicht geschrieben hat, oder noch nicht mal sicher ist welche Schnittstelle er verwendet, muss ich davon ausgehen das es derzeit mehr Aufwand für ihn ist. Und ohne eine Abstraktionsschicht kann eine csv-Datei tatsächlich merklich einfacher sein.