Aus einer Access Tabelle lesen
-
Da hassu was:
http://www.c-plusplus.net/forum/viewtopic.php?t=39099&highlight=odbc+access+datenbank
Und da hassu nochwas:
http://www.c-plusplus.net/forum/viewtopic.php?t=39098&highlight=odbc+access+datenbank
Vielleicht hilft es ja ein bischen.
-
Danke,
leider bin ich noch nicht viel weiter gekommen .
Also nochmal mein Problem:
Ich soll eine exe Datei erstellen die später in einem Testprogramm aufgerufen wird. Hier bei soll von dem Testprogramm eine Seriennummer an die exe datei übergeben werden. Meine exe datei soll nichts weiter tun als in eine Access Tabelle zu gehen, dort nach der Seriennummer suchen und schauen ob diese zwei Vorrausssetzungen (also Spalte 1 und Spalte 2)erfüllt. Wenn diese Vorraussetzung erfüllt ist soll sie eine 1 wenn nicht eine 0 zurückgeben.
Muss ich hierfür den Assistenten verwenden??
in den Dokus habe ich bis jetzt immer nur abfragen mit Visuellen ein und ausgaben gefunden.
Ich hatte mir vorgestellt dass ich einfach eine c++ Quelldatei entwerfe die diese Aufgabe übernimmt. Aber bis jetzt weiss ich noch nicht einmal wie ich die Seriennummer an die exe Datei übergeben soll (habe es bis jetzt nur durch manuelle eingabe also mit cin>> gelernt).weiss jemand ungefähr ob und wie ich sowas realisieren kann ??
-
Hast du eine main-Funktion oder eine InitInstance? (Weil je nach dem kommst du anders an die Kommandozeilenparameter.)
-
ich kenne nur die main Funktion.
aber
z.B:main(cstring a) { \\codeblock }
funktioniert ja nicht
-
Nein, die Parameter heißen ja auch
argc und argv
... Such einfach mal danach, ich kanns nicht aus dem Kopf und wer sucht is ja egal.
-
stimmt!! sorry hatte ich veplant aber danke des mit der Parameterübergabe hab ich jetzt
-
Leider bin ich bei meinem Hauptproblem noch nicht weitergekommen
Also nochmal mein Problem:
Ich soll eine exe Datei erstellen die später in einem Testprogramm aufgerufen wird. Hier bei soll von dem Testprogramm eine Seriennummer an die exe datei übergeben werden.Dass habe ich hinbekommen
Meine exe datei soll nichts weiter tun als in eine Access Tabelle zu gehen, dort nach der Seriennummer suchen und schauen ob diese zwei Vorrausssetzungen (also Spalte 1 und Spalte 2)erfüllt. Wenn diese Vorraussetzung erfüllt ist soll sie eine 1 wenn nicht eine 0 zurückgeben.
Muss ich hierfür den Assistenten verwenden??
in den Dokus habe ich bis jetzt immer nur abfragen mit Visuellen ein und ausgaben gefunden.
Ich hatte mir vorgestellt dass ich einfach eine c++ Quelldatei entwerfe die diese Aufgabe übernimmt.Mit dem MFC Anwendungsassistenten komm ich nicht weiter da der ja später eine Oberfläche hat. Meine Datei soll aber im hintergrund laufen .
Weiß jemand Rat??
-
Du musst doch kein Fenster erzeugen.
Mach eine Dialoganwendung und lösche alles, was mit dem Dialog zu tun hat.
Also die Dlg.h, Dlg.cpp, den Aufruf mit DoModal und die Resource.
Dann bleibt deine App-Klasse übrig. Da drin findest du die InitInstance. Das ist sowas wie ein main. Parameter kann man da auch abfragen, da hilft dir das CommandlineInfo, was du finden wirst.Andererseits konnte man auch MFC Klassen in einem Konsolenprogramm nutzen, ich weiß aber nicht mehr, wie.
-
Was meinst du mit Dialoganwendung?? Den MFC anwendungs Assistenten?? Hier finde ich nämlich nur unter Ressourcen nen Dialogordner!! Das ist falsch oder ?
-
Wenn du ein neues Projekt machst, dann wählst du Dialog aus.
Dann befolgst du die Schritte wie oben.Wenns wieder nicht klappt, gib mal deine Mailadresse, ich schick dir ein abgespecktes Projekt.
-
estartu_de schrieb:
Andererseits konnte man auch MFC Klassen in einem Konsolenprogramm nutzen, ich weiß aber nicht mehr, wie.
das ist ganz einfach. Du wählst "eine W32 Konsolenanwendung erstellen" aus und im darauffolgenden Assistenten klickst du einfach "Eine Anwendung die MFC Klassen unterstützt" an.
Jetzt kannst du die MFC Klassen benutzten.
Das Dialogfeld lässt sich vieleicht mitthis->EnableWindow(SW_HIDE);
verstecken. "this" gibt glaub ich nen Zeiger auf das aktuelle Fenster zurück (welches ja deine kleine Konsolenanwendung ist). Und EnableWindow() ist zum anzeigen der Fenster da. Probiers mal aus, so ganz sicher bin ich mir nicht.
gruß Chris++
-
Bin mal gespannt ob das funzt. Denn diese EnableWindow() funktion ist eine Funktion von CWindow (und ob eine Konsolenanwendung unter CWindow fällt weis ich nicht). Aber es gibt noch eine andere (schmutzige) lösung.
Du schreibst eine Kons.Anwendung mit MFC Klassen die wiederum in der main() oder InitInstance() mit
shellExecute(........)
dein Hauptprogramm aufruft. ShellExecute() hat glaub ich einen Parameter bei dem man die Anwendung versteckt oder minimiert starten kann (einfach mal in der Msdn nachlesen). Und nachdem ShellExecute ausgeführt wurde beendet sich dieses "Aufrufprogramm" wieder.
-
Da er den Dialog nicht braucht, kann er ihn doch löschen.
Wozu muss man den unnötigen Ballast mitschleppen und auch noch einen "Kopfstand" machen, damit man nicht sieht, dass da ein Fenster ist?
Einfach das DoModal rauslöschen und Ruhe ist. Nun kann man von der InitInstance aus alles aufrufen, was man braucht und gibt am Ende FALSE zurück, damit die Anwendung beendet wird.
Oder lebst du nach dem Motto "Warum einfach, wenns auch kompliziert geht?"
-
estartu_de schrieb:
Oder lebst du nach dem Motto "Warum einfach, wenns auch kompliziert geht?"
hm... weis nicht eine Dialoganwendung ohne Dialog. Ich bin mir nicht so sicher ob das gut ist das Programm so arg zu beschneiden. Einfach irgendwelche Quellcodedateien löschen und dann so ein Halbes Programm zu kompilieren
Allerdings kann das auch daran liegen das ich von der erfahrung her noch nicht soweit bin und noch nicht hinter die Kulissen blicken kann. Vieleicht ist deine Idee ja auch vollkommen legal und ich irre mich nur
-
Glaub mir, das ist schon okay so.
Ich mach das gerne für Testprogramme für dlls, die dann automatisiert was aufrufen. Da wäre jede GUI Zeitverschwendung.
-
Danke für die vielen Hilfestellungen !! ich werde es gleich am Montag ausprobieren ( da habe ich erst wieder Zeit). Ich meld mich dann nochmal
-
estartu_de schrieb:
Wenn du ein neues Projekt machst, dann wählst du Dialog aus.
Dann befolgst du die Schritte wie oben.Wenns wieder nicht klappt, gib mal deine Mailadresse, ich schick dir ein abgespecktes Projekt.
steht dass angebot noch?? meine mial ist GTimo.tr@web.de.
Ich komm einfach nicht weiter
-
VC6 oder 2003?
Wie soll die Exe heißen?Dann geht es gleich auf die Reise.
-
Habe Visual C++ 6.0
Wie soll die Exe heißen?
ist eigentlich egal .....nenn sie einfach control.exe oder so!
vielen dank im vorraus
-
Also wenn es egal ist, dann nimm doch die db.exe, die ich dir geschickt habe.