Probleme mit SQL_Datenbankanbindung
-
Werd ich morgen früh mal ausprobieren. Danke für die Hilfe
-
Hmm also momentan funzt bei mir GAR NIX. Hab mir mal eben neues Programm erstellt mit dem MFC Assistenten, und unter Datenbankanbindung,einfach keine Datenbankunterstützung ausgewählt. Uund nun nach dem ableiten der Klasse CRecordset haut er mir 64 Fehler raus. O_o Muss ich beim Assistenten noch "Nur Header-Dateien" mit anklicken???Weil bei den anderen Optionen will er ja schon gleich Tabellen haben. Bald arbeite ich nur noch mit einer Tabelle... da funzt es wenigstens
Btw.: Das mit der ComboBox hat auch noch ned ganz hingehauen, liegt wohl aber eher an meiner momentanen Unfähigkeit
-
Auch ohne die Fehler gesehen zu haben...
#include <afxdb.h>
Wenn ich falsch liege, zeig doch mal die ersten Fehler - die anderen sind oft Folgefehler.
-
So hab einfach beim Assistenten Nur Header Dateien aktiviert. Und nun geht es mit den Klassen. Das mit den Editfeldern hab ich leider noch ned raus.
-
Also das mit der ComboBox ist nicht so was ich machen wollte.
Ich wollte halt für jede Spalte meiner Kundentabelle ein EditFeld anlegen. Also Vorname,Nachname usw. Und denn halt im Grunde das jeweilige EditFeld mit der Variable aus meiner Kundendatenbank verknüpfen. Um denn die Daten in die Editfelder einzutragen und in der Datenbank zu speichern.
-
Soweit ich weiß geht es nicht ohne Zwischenschritt über die Variablen des Dialoges.
Oder was meinst du?
-
Ja ich hab ja halt in meinen Klassen die Variablen wie m_Vorname aus meiner Tabelle. Also müsste ich zuerst die Daten in die Variablen des Dialogs eintragen und die denn in die Variablen von der Tabelle wie m_Vorname übergeben?
-
Wieviele Klassen hast du jetzt?
Ich bin ausgegangen von:
Ein Recordset
Ein DialogDa wäre der Weg:
Recordset.Variable -> Dialog.VariableFürEinControl -> UpdateData(FALSE)
oder eben
UpdateData(TRUE) -> Dialog.VariableFürEinControl -> Recordset.Variable
-
hallo
mit mehre tabbellen ist einfach und du sollst keine panik haben.du kannst ein neuen Projekt legen und normal mit einem DB verbinden und nur mit einer Tabelle. und fertig.
willst du 2te tabelle dann auf dem klassen ansicht -> rechtmaustatste und klassen einfügen MFC ODBC Consumer dann wählst du die 2te tablle.
der assistenten macht alles für dich .
vergiss hen Header einzufügen in deinem view kalsse#include"neueklasse.h"
-
das kannst du denn machen für beliebige tabellen.
aber wichtig
DU DARFST NICHT
wenn du eine klasse a hat include b
darfst du nicht klasse b nachher include klasse a...sonst salat von Fehler
-
dokdok schrieb:
aber wichtig
DU DARFST NICHT
wenn du eine klasse a hat include b
darfst du nicht klasse b nachher include klasse a...sonst salat von FehlerLösung: http://www.c-plusplus.net/forum/viewtopic-var-t-is-112693.html
-
Frage?
kann man funktion von klasse a in klasse b rufen ? und auch funktion von klasse b in klasse a rufen?
ist es das eine mit include"xxxx.h" und das andere mit class Cklass;
wird mir intressiren. ich probiere mal
-
dokdok schrieb:
Frage?
kann man funktion von klasse a in klasse b rufen ? und auch funktion von klasse b in klasse a rufen?
ist es das eine mit include"xxxx.h" und das andere mit class Cklass;
wird mir intressiren. ich probiere malDas sollte funktionieren. Ist ja hinter dem Link erklärt.
-
estartu_de schrieb:
Wieviele Klassen hast du jetzt?
Ich bin ausgegangen von:
Ein Recordset
Ein DialogDa wäre der Weg:
Recordset.Variable -> Dialog.VariableFürEinControl -> UpdateData(FALSE)
oder eben
UpdateData(TRUE)-> Dialog.VariableFürEinControl -> Recordset.VariableIch habe 4 Tabellen somit 4 Klassen abgeleitet von CRecordSet und einmal mein Dialogfenster(Basisklasse CFormView)
-
dokdok schrieb:
hallo
mit mehre tabbellen ist einfach und du sollst keine panik haben.du kannst ein neuen Projekt legen und normal mit einem DB verbinden und nur mit einer Tabelle. und fertig.
willst du 2te tabelle dann auf dem klassen ansicht -> rechtmaustatste und klassen einfügen MFC ODBC Consumer dann wählst du die 2te tablle.
der assistenten macht alles für dich .
vergiss hen Header einzufügen in deinem view kalsse#include"neueklasse.h"
Ja denn kann ich zwar über m_pSet die eine Tabelle auswählen muss für die anderen Tabellen es dann aber auch anders machen.
-
reda schrieb:
Ja denn kann ich zwar über m_pSet die eine Tabelle auswählen muss für die anderen Tabellen es dann aber auch anders machen.
Dann guck doch mal, wie das mit dem m_pSet funktioniert und bau dir m_pSet2 bis n.
Du musst da nix anders oder besonderes machen. Nur gucken, wie der Assistent das macht und abschreiben.
-
[cpp]public:
//{{AFX_DATA(CTest3View)
enum { IDD = IDD_TEST3_FORM };
CTest3Set* m_pSet;
//}}AFX_DATADas steht in der *View.h
Und denn ist sie halt noch in den ganzen DoDataExchange,usw. vorhanden.
Ich habe eben einfach alles abgeschrieben und da halt mit ein getragen wo m_pSet ist. Denn sagt er mir oben in der Header Datei fehlendes ; * O_o
Und denn fehlende Speicherklasse für meine 2 Set Klasse und fehlende Speicherklasse für m_pSet2
-
reda schrieb:
Und denn fehlende Speicherklasse für meine 2 Set Klasse und fehlende Speicherklasse für m_pSet2
include vergessen!
-
Hmm habs grad gefunden. Sie fehlten in der test3.cpp.....
Nun fehlten sie noch in der.doc datei
Also das programm kann ich nun zwar starten bloss es kommt dieser nette fehlerbildschrim
http://img362.imageshack.us/img362/8308/fehler0ek.th.jpg
-
reda schrieb:
Also das programm kann ich nun zwar starten bloss es kommt dieser nette fehlerbildschrim
http://img362.imageshack.us/img362/8308/fehler0ek.th.jpgDas ist kein Fehler.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-120832.html