www.mikrocontroller.net

Forum: PC-Programmierung ACCESS Datenbank mit C++


Autor: RaveKev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich habe vor, aus einer Access-Datenbank mit C++ einen Wert
auszulesen.

Die DB besteht aus 4 Spalten
 TOR | AUF |   KFZ   | CODE
-------------------------
  1     0    FF 10/1    1
  2     1    FF 21/1    2
  3     0    FF 30/1    4
  4     0    FF 40/1    8
  5     0    FF 61/1    16
  6     0    FF 88/1    32
...


Jetzt wird durch ein anderes Programm die Spalte "AUF" verändert.
Wenn das Tor aufgehen soll, wird aus der "0" eine "1" und wenn es
zu gehen soll, eine "0" aus der "1".

Ich möchte in jeder Zeile, in der bei "AUF" eine "1" steht den CODE
auslesen, und in eine Variable schreiben.

Wie mach ich das?
würde mich sehr über eine antwort freuen, da ich für dieses Projekt nur
noch bis morgen abend zeit habe.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Datenbank liest man am geschicktesten über einen ODBC-Treiber aus;
eventuell bietet Dir ja Dein Compiler entsprechende Werkzeuge, um
Codegerüste für den Gebrauch von ODBC-Treibern zu konstruieren.
Sowohl beim Borland C++ Builder als auch bei MS Visual C++ sind
entsprechende Hilfsmittel vorhanden. Ein Blick in die Dokumentation
dürfte da Aufklärung bringen.

Wenn Du an die Datenbank SQL-Befehle senden kannst, kannst Du Deine
Grundaufgabe mit

  select CODE from wieauchimmerdeinetabelleheisst where AUF equals 1;

lösen. Übliche ODBC-Treiber lassen das zu; Du musst dann "nur noch"
das result set iterieren ...

Autor: RaveKev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende den  DEV Compiler von BloodShed.


Und meine ODBC-Schnittstelle habe ich in Windows auch schon
eingerichtet.

und habe auch schon versucht mit


char relais;
relais = SELECT code FROM garage WHERE auf equals 1;
cout<<relais<<endl;


aber da sagt mir mein Compiler, dass SELECT undeclared ist.


Könnte es daran liegen, dass DEV C++ vielleicht keine ODBC unterstüzt?

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Devc++ benutzt den gcc.

sql datenbanken füttert man mit abfragen in form von strings und das
char relais;
relais = SELECT code FROM garage WHERE auf equals 1;
ist ganz sicher keine korrekte difinition von strings ;)

odbc libs sollten sich für den gcc auch finden

Autor: RaveKev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay vielen dank, dann werde ich mal danach suchen.


Aber das Feld  CODE  ist vom Typ Text (also char oder?)
und ich brauch den DatenTyp CHAR, um ihn an meine RelaisKarte zu
übermitteln

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.

   "char relais;
   relais = SELECT code FROM garage WHERE auf equals 1;
   cout<<relais<<endl;"

Da hast Du etwas falsch verstanden. Einen SQL-Befehl kannst Du nur mit
entsprechenden Mechanismen als String an den ODBC-Treiber senden; ihn
im Klartext in den C++-Sourcecode zu schreiben ... ist müßig.

Außerdem liefert das SQL-Statement ein sogenanntes result set - das
kann auch eine Liste von Resultaten sein - und wie weist Du die dann
einem char zu? Siehste, geht so nicht.

Du solltest mal versuchen herauszufinden, ob Dein Compiler eine
ODBC-Wrapperklasse bietet. Wenn dem nicht so ist ... hast Du vermutlich
schlechte Karten.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du noch irgendwie die datenbank ändern kannst nimm einfach
sqlite... dann hast damit 0 probs...

sonnst darfst dich mit odbc rumärgern...

was ich mich erinnern kann heisst die datenbank engine von m$ "JET
Database Engine".. wennst keine odbc wrapper hast schau mal ob es ein
jet interface gibt sollte auch gehn

73

Autor: RaveKev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne, ich muss Access nehmen.. schon irgendwie doof..

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welches c++ und welche Entwicklungsumgebung(MS-Visual Studio, Borland
C++ Builder, GCC, QT...)?

Autor: RaveKev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werde es mit DEV-C++ versuchen, mir wurde in dem Zusammenhang vorher
in diesem Threat scon was von wegen GCC gesagt, aber kann nichts damit
anfangen.

für Visual-C++ finde ich haufenweise sachen.. zwar etwas verwirrend,
aber ich find welche

Autor: simeri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo ravekeve,

für odbc und datenbanken hat mir super eine beispiel von
the code projekt geholfen

http://www.codeproject.com/database/easyodbc.asp

Autor: RaveKev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank.

Ich muss heute noch meine Präsentation machen für das Projekt. Und muss
mal sehen, wie lange ich dafür brauch.
Wenn ich die dann geschaft habe, werde ich versuchen, das mit der
Datenbank auch noch einzubauen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.