Tabellendaten aus Datenbank auslesen
-
Die ganze Berechnung soll mit einem C++ Programm gemacht werden, nur das suchen der Werte soll über die Datenbank und den darin abgelegten Tabellen geschehen.
-
Kaiza25 schrieb:
Die ganze Berechnung soll mit einem C++ Programm gemacht werden, nur das suchen der Werte soll über die Datenbank und den darin abgelegten Tabellen geschehen.
Welche Berechnung?
Ich hab Dich bis eben so verstanden, dass Du 30 Tabellen hast und dort mit Zeile und Spalte (Gefälle und Strecke) den richtigen Wert raussuchst? Da ist doch nix zu berechnen?
-
Also, ich habe meine Anfangswerte, welche ich in mein C++ Programm eingebe, dann sollte das Programm eine Berechnung durchführen, die sehr umfangreich ist.
Grundlage dieser Berechnung sind zum Teil die Eingabeparameter und eben die Werte aus der Tabelle (ergeben sich aus den Eingabeparametern), welche in einer Datenbank abgespeichert sind (ist eine MS Access-Datei)Als Ergebnis bekomme ich dabei rund 50 verschiedene Werte, die dann ausgegeben werden sollen.
Ich möchte gerne wissen, ob man nun die Tabellen in das Programm einlesen muss, oder ob das Programm auf die Datenbank zugreifen kann und dort den Wert "suchen" kann?
-
In was für einer Datenbank hast Du denn Deine Werte?
-
Die Werte sind in einer Microsoft Access Datei abgelegt, allerdings wäre es kein Problem, alles in eine andere Datenbank zu packen, sofern es für die Berechnung einfacher ist.
-
Muß es unbedingt C++ sein? Die Aufgabe wäre mit C# und dem .NET-Framework (und dessen ADO.NET) recht einfach zu erledigen, s. z.B.
ADO.NET Tutorial
Using ADO.NET for beginners (hier wird sogar MS Access benutztIn C# gibt es natürlich auch fortgeschrittenere Techniken, um auf Datenbanken zuzugreifen (z.B. mittels ORMs wie EF, Hibernate etc.).
-
Kaiza25 schrieb:
Die Werte sind in einer Microsoft Access Datei abgelegt, allerdings wäre es kein Problem, alles in eine andere Datenbank zu packen, sofern es für die Berechnung einfacher ist.
Wenn die Tabellen alle von dem Kaliber sind, wie Dein Beispiel oben. Und die Datenbank auch sonst nicht viel macht, könntest Du die Daten als Text exportieren und einfach in Deiner Applikation einlesen.
Ein paar Klassen gebastelt und schon fliegt das ganze - ohne Datenbank.Evtl. ist aber auch das genaue Gegenteil der Weg: Alles in die Datenbank knallen - inklusive Berechnungen. Ein bisschen SQL und ein paar stored procedures und los geht's - ohne C++. (jedenfalls in der Theorie - vielleicht bin ich hier etwas naiv.)
Oder wirklich ein Programm, dass via Schnittstelle xyz auf eine Datenbank zugreift. Also ein bisschen von beidem.
Das scheint mir etwas "overengineered". Jedenfalls nach Deiner bisherigen Beschreibung.Ich schätze es kommt darauf an, worauf Du am meisten Lust hast und wie die sonstigen Rahmenbedingungen sind - also das konkrete Problem, Zeit, Geld etc. pp..
-
Naja, also C++ hab ich gewählt, weil ich da schon paar Grundkenntnisse habe, und es für die Berechnung mehr als ausrechend ist. auch die Ausgabe der Werte in ein Excel File ist möglich.
Nur diese Tabellen bereiten mir Schwierigkeiten. Vor allem soll das Programm auch weiterhin funktionieren, wenn die Tabellen einmal aktualisiert werden, sprich die alte Datenbank durch eine neue ersetzt wird.
Würde ich eine andere Datenbank als die vorgegeben MS Access Datei nehmen, müsste ich sie halt händisch aktualisieren, wäre auch kein Problem, wenn dadurch die Programmierung leichter wird.
Wenn die Aufgabe mit C# leichter zu lösen ist, müsste ich mir das halt mal genauer anschauen^^
-
Hallo
Ich würde dir zwar auch vorschlagen C# zu nutzen, weil es da schon einige Klassen gibt mit denen du sehr einfach auf Access zugreifen kannst.
Wenn es aber doch C++ sein soll, dann hier ein Tutorial aus der msdn, wie man einen Zugriff via odbc aufbaut: https://msdn.microsoft.com/en-us/library/cc811599.aspx
Mag Marco
-
Aber wenn schon mit C++, dann DAO oder OLE DB, aber nicht das komplett veraltete (und langsame) ODBC.
-
Danke für die Antworten, hab mir das jetzt mal alles angesehen und werd es demnächst mal testen, falls ich Probleme damit habe, melde ich mich wieder