ETwas speichern mit SQL
ETwas speichern mit SQL
Hallo ich habe ein Programm in Eclipse mit Qt programmiert. Jetzt wollte ich das man die Daten speichert die man eingibt und das wollte ich mit SQL machen. Damit ich die später wieder Laden kann aber ich habe gar keine Ahnung wie man das macht.
Braucht man da eine SQL Datenbank? und muss ich die ganzen Variablen in SQL speichern? gibt es ein Beispiel wo man das sieht wie jmd. das gemacht hat?
Danke.
Braucht man da eine SQL Datenbank? und muss ich die ganzen Variablen in SQL speichern? gibt es ein Beispiel wo man das sieht wie jmd. das gemacht hat?
Danke.
Ich kann die ganzen SQL Statements kannst mich ja Ausfragen wenn du willst Vorahnung von SQL habe ich. Das ist ja nicht mein Problem, wenn du meinen Beitrag gelesen hättest dann würdest du das ja sehen.
Ich brauche paar Beispiel wie das jmd. gemacht hat oder willst du mir sagen das ich einfach in meinen C++ Code SELCT FROM TABLE usw. reinschreiben kann.
Die zweite Frage war ja was für ein Datenbanksystem(MYSQL, Postgree) kann ich verwenden ob ich eins selber einrichten muss mit XAMPP oder sonstwas. Oder gibt es da eine andere Möglichkeit?
Ich brauche paar Beispiel wie das jmd. gemacht hat oder willst du mir sagen das ich einfach in meinen C++ Code SELCT FROM TABLE usw. reinschreiben kann.
Die zweite Frage war ja was für ein Datenbanksystem(MYSQL, Postgree) kann ich verwenden ob ich eins selber einrichten muss mit XAMPP oder sonstwas. Oder gibt es da eine andere Möglichkeit?
Nimm SQLite als Datenbank. Für dich wirds reichen.
Und dass du Ahnung hast von SQL, geht aus deinem ersten Post nicht hervor. Die Frage "Braucht man da eine SQL Datenbank" legt eigentlich anderes nahe.
Wirf doch mal den Assistant an und such nach "Database", wäre das erste was ich gemacht hätte. Dann stößt du auch auf "QSqlDatabase" und auf Infos, wie du das mit Qt verwendest. Und ja, du musst deine "ganzen Variablen in der DB speichern", zu mindest diejenigen, welche du beim nächsten Start wieder haben willst.
Aber wenn es wirklich um so simple Sachen wie Fenstergröße, Einträge einer Combobox, etc. geht, nimm doch QSettings! Oder hast du wirklich zig gleiche Datensätze (am besten komplexere), so dass sich ne DB lohnt?
Und dass du Ahnung hast von SQL, geht aus deinem ersten Post nicht hervor. Die Frage "Braucht man da eine SQL Datenbank" legt eigentlich anderes nahe.
Wirf doch mal den Assistant an und such nach "Database", wäre das erste was ich gemacht hätte. Dann stößt du auch auf "QSqlDatabase" und auf Infos, wie du das mit Qt verwendest. Und ja, du musst deine "ganzen Variablen in der DB speichern", zu mindest diejenigen, welche du beim nächsten Start wieder haben willst.
Aber wenn es wirklich um so simple Sachen wie Fenstergröße, Einträge einer Combobox, etc. geht, nimm doch QSettings! Oder hast du wirklich zig gleiche Datensätze (am besten komplexere), so dass sich ne DB lohnt?
Wenn du nicht einmal weißt, wie SQL funktioniert, was helfen dir dann irgendwelche Abfragen, die man überall leicht aufschnappen kann. SQL ist sozusagen ein eigenes Programm, dem du Befehle schickst und Antworten bekommst. Das Programm muss auf jedem PC laufen, auf dem du einfach mal was mit SQL speichern willst.
Für dein Bedarf ein paar eingegebene Daten zu Speichern erscheint mir so etwas auch als sehr unangemessen. Benutze dafür lieber entweder eine normale Textdatei oder XML.
Hier kann und will und wird dir keiner die Grundlagen von SQL von der Einrichtung eines Servers aufzählen. Dazu kommt scheinbar auch noch eine nötige Einführung in den Befehlssatz der C++ Sprache.
Ich gebe dir nur ein paar Stichworte. QSQL*, XAMPP, Google
Für dein Bedarf ein paar eingegebene Daten zu Speichern erscheint mir so etwas auch als sehr unangemessen. Benutze dafür lieber entweder eine normale Textdatei oder XML.
Hier kann und will und wird dir keiner die Grundlagen von SQL von der Einrichtung eines Servers aufzählen. Dazu kommt scheinbar auch noch eine nötige Einführung in den Befehlssatz der C++ Sprache.
Ich gebe dir nur ein paar Stichworte. QSQL*, XAMPP, Google
Wo soll man das lesen können?Vorahnung von SQL habe ich. Das ist ja nicht mein Problem, wenn du meinen Beitrag gelesen hättest dann würdest du das ja sehen.
gute Idee.. das hätte wirklich was gebracht:schreib doch gleich suche in Google
http://www.google.ch/search?q=Qt+SQL+Query
Ja, das ist tatsächlich (fast) so..bitte gut durchlesen:willst du mir sagen das ich einfach in meinen C++ Code SELCT FROM TABLE usw. reinschreiben kann.
http://doc.trolltech.com/4.5/qtsql.html ... ng-a-query
XAMPP ist sicher kein schlechter Anfang.. falls dir das zu Aufwendig ist, kannst du auch erste Gehversuche mit SQLite machen.ob ich eins selber einrichten muss mit XAMPP
Weitere Infos zu SQLite und anderen unterstützten Datenbank-Drivers:
http://doc.trolltech.com/4.5/sql-driver.html
Ja solche Beispiele habe ich gebraucht Danke. Habe auch die Daten in einer Datenbank gespeichert. Bloß habe ich das problem wenn ich es laden will das ich in dem query nichts habe.
Ladet man die Datenbak so wie man es auch speichern will oder muss man die Datenbank anders laden?
So sieht mein code aus und wie gesagt bei dem query ist nix vorhanden in der datei ist schonw as vorhanden also er speichert das richtig.
Ladet man die Datenbak so wie man es auch speichern will oder muss man die Datenbank anders laden?
Code: Alles auswählen
if (!correctDatabaseFileVersion(nameStrecke)) {
QMessageBox::critical(0, qApp->tr(
"Kann keine Verbindung zur SQL Datenbank aufbaun"), qApp->tr(
"Kann keine verbindung aufbaun.\n"
"Klicken sie auf Abbrechen um zu abbrechen."),
QMessageBox::Cancel);
return false;
}
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(nameStrecke);
QSqlQuery query("SELECT name,laengeinnen,laengeaussen FROM track;");
weil meine Kristallkugel im Zuge der Finanzkrise verpfändet wurde, kann ich leider das Problem nicht erraten....was bedeutet genau "und wie gesagt bei dem query ist nix vorhanden"... kommt da noch irgendwelcher Code hinter der Query? Falls nicht: Wie Daten empfangen werden steht unter http://doc.trolltech.com/4.5/qsqlquery.html#details
Auch eine hübsche Sache wäre eine saubere Fehlerbehandlung.. siehe http://doc.trolltech.com/4.5/qsqlquery.html#lastError ... dann müssten wir etwas weniger raten...
Auch eine hübsche Sache wäre eine saubere Fehlerbehandlung.. siehe http://doc.trolltech.com/4.5/qsqlquery.html#lastError ... dann müssten wir etwas weniger raten...
ja natürlich kommt was dahinter.... die query abfrage dann in die ver. variablen die sql Daten eintragen hier....
Meine Frage bezieht sich auf die Verbindung mit SQLite da ich ja beim verbinden hinschreiben
da steht ja addDatabase usw. setDatabaseName aber die Datenbank ist ja vorhanden ich will ja keine neue Anlegen sondern eine Öffnen. Ob das was ich hingeschrieben haben in Ordnung ist da ich die Daten nur zum lesen brauche. Ja und wie gesagt wie ich es so habe da kommt nix außer 3 mal die null in der Ausgabe.
Code: Alles auswählen
setName(query.value(0).toString());
setLaengeInnen(query.value(1).toDouble());
setLaengeAussen(query.value(2).toDouble());
qcout << query.value(0).toString() << " : " << query.value(1).toDouble() << " : " << query.value(2).toDouble() << endl;
Code: Alles auswählen
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(nameStrecke);
upsala hat geschrieben:Und jetzt lesen wir uns die Beispiele die QSqlQuery dabeistehen nochmal durch und überlegen uns, was wir vergessen haben könnten...
WENN ich es nicht gelesen hätte dann würde ich ja kaum so weit kommen vielleicht passiert ja das man manches nicht sofort kapiert..... könnte ja sein kommt mal schon vor..... dann Fragt man nach ob man was übersehen hat oder es nicht verstanden hat.... Wenn du es schon weißt woran es liegt dann kannst du es ja hinschreiben oder einfach nicht Antworten du musst ja hier nix schreiben.
-
- Beiträge: 170
- Registriert: 26. Januar 2009 09:19
- Wohnort: 127.0.0.2
also borbih,
1. solltest du ganz schnell deinen ton ändern, weil so wie du upsala zugemüllt hast, würde ich dir die richtige antwort jetzt auch nicht mehr hinschreiben.....
2. es gibt da so ein gewisses Entwicklerwerkzeug, das nennt sich Dokumentation. die leute im forum, die schon länger mit qt programmieren wollen sich einfach um andere dinge kümmern, als für andere in der dokumentation rumzuschnüffeln
3. manche z. t. triviale sachen muss man einfach versuchen selber zu verstehen, weil ansonsten "kopiert" man immer nur den code von anderen leuten und man schreibt auf lange sicht kein eigenes programm
4. ich muss dir leider sagen, dass dieser thread wegen dir so aus dem ruder gelaufen ist. dein erster thread ist wirklich total missverständlich, du hast den fehler begangen und solltest jetzt andere hier im forum, vor allem upsala, ni dafür verantwortlich machen........
Mfg androphinx
1. solltest du ganz schnell deinen ton ändern, weil so wie du upsala zugemüllt hast, würde ich dir die richtige antwort jetzt auch nicht mehr hinschreiben.....
2. es gibt da so ein gewisses Entwicklerwerkzeug, das nennt sich Dokumentation. die leute im forum, die schon länger mit qt programmieren wollen sich einfach um andere dinge kümmern, als für andere in der dokumentation rumzuschnüffeln
3. manche z. t. triviale sachen muss man einfach versuchen selber zu verstehen, weil ansonsten "kopiert" man immer nur den code von anderen leuten und man schreibt auf lange sicht kein eigenes programm
4. ich muss dir leider sagen, dass dieser thread wegen dir so aus dem ruder gelaufen ist. dein erster thread ist wirklich total missverständlich, du hast den fehler begangen und solltest jetzt andere hier im forum, vor allem upsala, ni dafür verantwortlich machen........
Mfg androphinx