exe-Datei mit Datenbankanbindung
lima-city → Forum → Programmiersprachen → C/C++ und D
aufbau
bericht
datei
datenbank
datum
definieren
erstellen
form
format
helfen
http
kenntnis
machen
programm
rechner
ren
schau
speichern
zeichen
zugriff
-
Ich hoffe zuerstmal, das ich hier die richtigen Leute finden, die mir da helfen k?nnen.
also ich bin ein richtiger C-Noob und will doch etwas gut kompliziertes erstellen:
Und zwar habe ich eine Datenbank, die ich mit Access erstellt habe, aber diese nun an Leute weiterreichen m?chte, die kein Access haben. Dabei fiel mir ein, das man ja ein EXE-Programm erstellen k?nnte. Ich bin auch gerne bereit, das Dateiformat der DB von mdb auf dbf (dBase) umzu?ndern oder was es sonst an Formaten gibt, die MSACCESS erstellen kann. Ich m?chte aufjedenfall als Endergebnis die Tabelle in der Datenbank ansehbar machen (Soetwas wie ein Auflistungsprogramm). Ich kann es euch leider etwas schwer erkl?ren, aber hoffe, das mir eventuell jemand da helfen k?nnte, indem man mir sagt, mit welchem Programm man am besten soetwas entwickelt (hat bei mir noch lange Zeit, kann daher ruhig etwas aufwenidiger sein). Ist es ?berhaupt mit c/c++ m?glich, doch schon etwas schweres wie dieses zu erzeugen, oder macht man sowas mit Delphi/Pascal, oder was es da sonst noch gibt? Wie gesagt, das wichtigste ist, das es f?r jeden Windows-Benutzer lesbar ist! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Als erstes brauchst du eine frei zug?ngliche Schnittstelle zu den Daten. Damit scheiden alle Microsoft-Formate aus, denn M$ ver?ffentlicht den Aufbau seiner Formate nicht. Wenn du die Datenbank dann in eine Format konvertiert hast, dessen Aufbau dokumentiert ist, w?rde ich mit C++ erstmal alle wesentlichen Aufgaben wie Datenbank lesen, schreiben, Eintr?ge sortieren und so weiter in Objekten kapseln (so ?hnlich wie in Java der Zugriff auf Bilder ja auch nur von den entsprechenden Objekten ?bernommen wird).
Danach brauchst du dann nur noch ein Frontend zu schreiben, was die Daten in menschenlesbarer Form pr?sentiert.
Da du Delphi schon angesprochen hast: Das Frontend kannst du nat?rlich mit Delphi schreiben. Alles andere geht wohl mit C++ besser.
Sorry falls das etwas umst?ndlicher ist, als du es dir vorgestellt hast, aber etwas einfacheres f?llt mir nicht ein. -
Ich dank dir schonmal f?r die Info, doch eine Frage bleibt noch offen?
Wie mir mal an ?lteren Datenbankformaten auffiel, gibt es doch tats?chlich heute noch Datenbanken, die bestimmte Zeichen nicht speichern, oder Kleinbuchstaben in Gro?buchstaben konvertieren. Ich m??te daher noch wissen, welches Format nicht zu kompliziert ist, was aber auch wiederum die g?ngigen Zeichen der DE-Tastatur speichert (Ne ganz alte .gdf - Datenbank unterst?tzt zum Beispiel keine Umlaute). Die Datenbank brauch aber auch zum Beispiel kein ?-Zeichen zu unterst?tzen. Weiterhin sind solche Sachen wie u.a. OLE-Object nicht notwendig (soll ne stinknormale Textdatenbank sein). -
Meine Kenntnisse mit Datenbanken reichen leider nicht weit genug, um diese Frage zu kl?ren.
-
Hi,
wenn Du sowieso nur Text speichern willst, dann nimm einfach ein selbst definiertes Text-Format. Das ist bei wenigen Datens?tzen (bis 1000) f?r die meisten F?lle schnell genug.
Ein Format w?re z.B.:
Feldname=wert
Wenn im Feldwert Zeilenwechsel vorkommen, dann wandle sie halt in die Zeichenkette \n um (und \ in \\, sonst geht das R?ckkonvertieren nicht!)
Achtung: Wenn die Feldl?nge beliebig oder sehr gro? ist, dann musst Du jede Zeile evt. in Teilen einlesen (fgets () erledigt das nicht automatisch).
Dann schreibst Du Routinen (am Besten als Methoden einer Klasse), die genau das Einlesen/Schreiben der Datei erledigen und schon hast Du ein einfaches DBMS. -
wie siehts mit deinen C++ kenntnissen aus ? mit dem <list> template kannst du dir die daten echt gut aus ner datei holen..
oder du definierts dir ne eigene doppelt oder einfach verkette list (ich kann dir n w?rterbuch von mir schicken wenn du willst) -
Wenn du eventuell den C++Builder verwendest, schau mal da:
http://www.componentace.com/bde_replacement_database_delphi_absolute_database.htm -
Um Access Datenbanken an andere Personen weiter zu geben, die selbst kein Access auf dem Rechner installiert haben, gibt es ein Programm von MS selbst. Das packt eine Access Datenbank in eine ausf?hrbare Datei. Infos dazu unter http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/modcore/html/deovrdeployingaccesssolutions.asp Falls der Link irgendwann nicht mehr funktionieren sollte, einfach im Internet nach "Access Runtime" suchen.
Man k?nnte das ganze auch selber machen, allerdings muss man dann dazu die DAO-Klassen der MFC benutzen und dazu muss dann der ODBC Treiber f?r Access installiert werden. Ist also f?r einen selber komplizierter und es funktioniert auch nicht, ohne auf dem Rechner ohne Access doch etwas zu installieren. -
Oh, das Thema hier habe ich irgendwie vollkommen vergessen (ist ja auch schon was ?lter. Die letzte Sache ist auch genau das, wof?r ich mich interresiere in dieser Hinsicht hier. Ich werde mir das aufjedenfall mal genauer ansehen,
Naja, aber wenn ihr noch gute Links oder Tips habt... immer her damit! -
Ich mach' das schon eine Zeit lang, und die CDao...-Klasse ist genau das, was Du suchst ... da muss man auch KEINE ODBC-Datenquellen definieren/anlegen, sondern Du kannst direkt in die Datenbank reingreifen.
Als erstes brauchst Du eine Datenbankklasse (CDaoDatabase), und dann die entsprechenden Datens?tze (CDaoRecordset) ...
Am einfachsten, wenn Du das _ALTE_ Visual-Studio (nicht .net) hast, und Dir da die Klassen automatisch erstellen l?sst - damit sparst Du Dir SEHR viel arbeit!
Voraussetzung:
#include <afxdao.h>
und auf den Rechnern, wo Du Deine .exe ausf?hren willst m?ssen
dao360.dll
msjet40.dll
vorhanden sein - dann funktioniert der Zugriff tadellos!
Kleiner Tipp: Wenn Du die Daten der Datenbank sp?ter mit Access in Form von Berichten anzeigen willst, solltest diese Berichte vorher definieren, und dann diese DB als Template verwenden!
LG
Gucci -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage