CRecordSet
-
ja, aber wie?
Hast Du nicht ein Beispiel vür mich?mfg Beto
-
Deine Viewklasse hat doch eine Variable m_pSet;
Diese musst du an den Dialog übergeben, also,
im Dialog muss auch eine Membervariable von CMeinProjektSet vorhanden sein...Devil
-
Hallo nochmal,
ich habe jetzt stundenlang rumprobiert, aber ich bekomme es nicht hin, wo muss ich den was eintragen?
mfg Beto
-
Du hast eine Dialog klasse...
Klick im Treecontrol auf das klassensymbol, (rechtsklick)
dann Membervariable hinzufügen. Typ C...Set.
Übergabe:
Vor DeinDlg.doModal();
DeinDlg.m_set= m_pSet;Devil
-
Hallo, schon wieder ich
ich habe jetzt folgendes gemacht:
void CTraveglasView::OnNeuKunde() { CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST1); CKundenDlg dlg; dlg.m_set = m_pSet; if(IDOK == dlg.DoModal()) { int nItem = pList->GetItemCount(); UpdateData(TRUE); pList->InsertItem(nItem, m_pSet->m_Vorname,0); pList->SetItemText(nItem,1,m_pSet->m_Nachname); m_firstname = dlg.m_strVorname; m_pSet->m_Vorname = dlg.m_strVorname; m_pSet->m_Nachname = dlg.m_strNachname; }
Vorher habe ich mit CTraveglasSet m_set eingerichtet in der CKundenDlg.
Nun kommt aber die Fehlermeldung "Operator "=" ist nicht verfügbar!
Warum das?mfg Beto
-
Hallo fangen wir nochmal an denn du gehst da falsch ran sehe ich.
aus welcher DB möchtest du Daten in deine Anwendung
SQL Access oder Excel zum Beispiel.Hast du eine ODBC Verbindung erstellt
Ich kann dir da etwas per mail zukommenlassen aber ich muß wissen für was
Vossy
-
Wisst du nun im Dialog auf die daten zugreifen, oder einfach
nur daten eingeben? Letzteres wäre einfacher, ersteres ist auch
nicht schwer...void CTraveglasView::OnNeuKunde() { CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST1); CKundenDlg dlg; dlg.m_set = m_pSet; if(IDOK == dlg.DoModal()) { int nItem = pList->GetItemCount(); UpdateData(TRUE); pList->InsertItem(nItem, m_pSet->m_Vorname,0); pList->SetItemText(nItem,1,m_pSet->m_Nachname); m_firstname = dlg.m_strVorname; m_pSet->Edit(); m_pSet->m_Vorname = dlg.m_strVorname; m_pSet->m_Nachname = dlg.m_strNachname; m_pSet->Update(); }
Devil
-
Hallo
danke für eure hilfe, aber ich glaube ihr versteht da etwas falsch.
ich bekomme bei der Zeile dlg.m_set = m_pSet // diese Fehlermeldung:yProjects\Traveglas\TraveglasView.cpp(152) : error C2582: 'CTraveglasSet' : 'Operator =' ist nicht verfuegbar
Fehler beim Ausführen von cl.exe.Es ist so das ich eine Access-Datenbank einbinde, ich möchte sowohl als auch im Dialog, Daten eingeben als auch das die Datenbank gefüllt wird! Muss ich in der Dialogklasse vielleicht noch irgend etwas deklarieren als nur CTraveSet m_set?
mfg beto
-
Dann füge der C...Set einen Copykkonstruktor ein.
=operator muss dafür überschrieben werden.Devil
-
hallo
Ich will ja nicht nerven, aber so versiert bin ich noch nicht in der MFC!
Kannst mir villeicht ein beispiel geben?mfg Beto
-
Das ist **Standard C++...
also eigentlich sollte man sowas können, bevor man mit der MFC anfängt...
Aber dann bin ich mal nicht so...Tank& Tank::operator =(const Tank &) { return (*this); }
statt Tank halt dein Klassenname.
Devil
Automatische Rechtschreibkorrektur wurde aktiv.
**
-
Hi
peinlich, ich weiß
Es mag schon sein, das das Standard ist um in der MFC zu Programmieren.
Das dumme ist nur, das man nicht weiß, wo man was Deklariert.
Da finde ich, ist die MFC etwas unübersichtlich!
Naja, auf jeden fall haut das mit deinem Beispiel oben nicht hin.
Kannste vieleicht mir nochmal verraten wo ich das deklariere
mfg Beto
-
Original erstellt von devil81:
**```cpp
dlg.m_set = m_pSet;Ich würd das Recordset nicht kopieren. Vergiss das mit dem Copy-Ctor, die Fehlermeldung macht schon Sinn.
Deklariere es lieber als Zeiger.// Im Dialog: CTraveglasSet *m_set;
-
Hallo nochmal wieder ich
Ich bin am verzweifeln:
ich habe jetzt einen Zeiger eingestellt, dabei kommt diese Fehlermeldung
C:\Programme\Microsoft Visual Studio\MyProjects\Traveglas\TraveglasView.cpp(157) : error C2039: 'm_pSet' : Ist kein Element von 'CTraveglasSet'Ich verstehe das nicht, das kann doch nicht so schwer sein, aus einen Dialog, aus der SDI-Anwendung hervorgerufen eine Datenbank anzusprechen
Wißt ihr, ich habe nur noch 6 Wochen zeit, das Programm was ich schreiben möchte, fertig zu bekommen, denn am 29.09.02 weiß ich nicht ob mir mein Sohn dann noch zeit dazu lässt!
Also Bitte HILFE!!!!!!mfg Beto
-
Hallo,
hat keiner eine Lösung für mich?
Bitte, Hilfe !!!
mfg Beto
-
Was soll den der Dialog machen?
Devil
p.s. nur keine PANIK!
-
Hallo Devil,
also, auf der Form - der SDI habe ich eine CListCtrl, in diese möchte ich z.B. die Daten übertragen die ich im Dialog eingebe (kann sein das das der flasche weg ist) nun ist es so das die SDI auf eine Datenbank zugreift, wo meinetwegen der Name, Adresse usw schon drin steht. Nun rufe ich im Menue den Befehl "Neuer Kunde" auf, worauf sich ein Dialog öffnet, was ich dort eingebe soll nun in die Ansicht der SDI übertragen werden, aber eben mit den Dantenbankelementen, die in der SDI ja, wie sagt man, bestand haben. ich habe in der Dialogklasse CKundenDlg.h eine neue member deklariert " CTraveglasSet* m_set, das versuche ich dann in der View mit
CKundenDlg dlg; dlg.m_set->m_pSet;
aufzurufen, klappt aber nicht, mit dem operator bin ich nicht klar gekommen, hast vielleicht gesehen von Thomas80d, nun sagt er aber das m_pSet nicht \Traveglas\TraveglasView.cpp(157) : error C2039: 'm_pSet' : Ist kein Element von 'CTraveglasSet'.
Weißt Du was damit anzufangen, weißt Du was ich vorhabe - kam das rüber?
Danke übrigens für deine Bemühungen
mfg
Beto
-
Du musst auch den Pointer erst initialisieren, bzw.
mit m_pSet abgleichen!!
Wenn du im Dialog nur Daten eingibst, dann kannst du doch
am schluss die daten an deine View einzeln übergeben,
und diese dort mittels m_pSet setzen.Devil
-
wie muß ich denn den Pointer Initialisieren?
Die MFC ist so was von einem Datendschungel, man weiß gar nicht wo man was einträgt.
-
Hallo ??
Hat keiner eine Idee, wie ich das hinbekomme?
mfg Beto