2009-05-01 4 views
-1

Ich schreibe eine C++/MFC-Anwendung, die Microsoft Access zum Speichern von Daten verwendet. Ich hoffe, es wird meinem Zweck dienen: kleine, leichte Möglichkeit, um Anwendungsdaten zu halten.Verwenden von Microsoft Access in meiner Anwendung

Die Frage, die ich mich frage, ist: Wenn ich Access als DB verwende, muss der Clientcomputer Microsoft Access installieren, um meine Software zu verwenden?

danke.

+0

Oder sollte ich XML-Dateien verwenden? nie zuvor in C++ benutzt. – Attilah

Antwort

3

Möchten Sie einfach Access-Dateien (* .mdb) verwenden oder möchten Sie das Access Active Object in Ihre Anwendung einbetten?

Wenn Sie nur sein Dateiformat verwenden möchten, müssen sie nur die ODBC-Treiber installieren, nicht die gesamte Anwendung.

Wenn Sie jedoch ActiveX verwenden möchten, um die Access UI in Ihre Anwendung einzubetten, muss der Access vollständig installiert sein.

+0

ein weiterer Kommentar - da Sie XML erwähnt haben, denke ich, dass Sie nur ein Format/eine Bibliothek zum Speichern von Daten benötigen. Sie sollten in diesem Fall wirklich SQLite in Betracht ziehen, da es kostenlos, schnell, klein und voll funktionsfähig ist wie ein RDBM. – Francis

+0

Ich muss nur Access-Dateien verwenden, um die Daten zu speichern und dann diese Daten für meine Anwendung verwenden. keine ActiveX-Einbettung. Können Sie mir bitte die genauen Schritte erklären? (+ Code wenn möglich) Danke. – Attilah

+0

Ich muss nur die Daten in den Anwendungsdaten in Access speichern, kein ActiveX-Zeug beteiligt (keine Einbettung Access UI). können Sie bitte den Code zeigen? zumindest ein Tutorial dazu. Ich google bereits SQLite. Ich werde mich darum kümmern. Danke. – Attilah

1

Gehen Sie durch die Microsoft Data Access Components page auf Wikipedia, heißt es in der Tabelle, dass von der ersten Version von Windows 2000, ODBC drivers für Microsoft Access standardmäßig enthalten sind. Mit anderen Worten, Sie sollten davon ausgehen, dass Ihr Programm keine Probleme haben sollte, MS Access-Datenbanken auf jedem Windows-PC zu lesen.

0

Francis ist korrekt, aber Sie sollten sich vielleicht robustere DB-Optionen ansehen. SQLite, SQL Server Compact Edition oder Firebird sind alle gute Alternativen zu MS Access für einfache, leichte und einfache RDBMS-Anforderungen.

0

Sie benötigen Access nicht, um eine Access-Datenbank zu verwenden - Sie können ODBC dafür verwenden. Wenn Sie jedoch auch XML in Betracht ziehen, schlage ich vor, dass Sie das Problem, das Sie versuchen, tief genug zu lösen, nicht analysiert haben - XML ​​und Datenbanken wie Access haben fast nichts gemeinsam.

+0

Neil, danke für deine Antwort. Meine Anwendung enthält eine Strukturansicht und eine Listenansicht. Die Elemente der Baumansicht und der Listenansicht müssen irgendwo gespeichert werden, und dann muss die Anwendung beim Start die gespeicherten Elemente aus der DB übernehmen und sie wieder in die Steuerelemente laden. glaubst du ich bin besser dran mit SQLite? irgendein Rat ? Danke. – Attilah

+0

Wenn Sie über Daten sprechen, die beim Start der App einmal gelesen und beim Beenden einmal geschrieben werden, ist XML ein möglicher Kandidat. Wenn Sie die Daten auf der Festplatte während der Ausführung der Apps aktualisieren möchten, ist dies nicht der Fall. –

+0

OK, ich verstehe es. Vielen Dank. – Attilah

1

Das Problem hier ist die promiscuous Verwendung von "Access" zu "Jet MDB" zu bedeuten. Wenn Sie eine Access Datenbank haben, ist es eine Access-Anwendung, mit UI-Objekten (Forms/Berichte/etc.) Und um es auszuführen, muss Access oder die Access-Runtime installiert sein.

Es ist jedoch ziemlich klar, dass Sie nur eine Jet MDB verwenden, um Ihre Daten zu speichern. In diesem Fall ist alles, was Sie benötigen, bereits in jeder Version von Windows ab 2000 installiert, da Jet als Teil des Betriebssystems installiert ist .