Fehlermeldung erzeugen
-
ja habs mit dem debugger gemacht, da stand nichts drin
das mit dem UpdateData(TRUE) klappt auch nicht, es kommmt immer noch die gleiche Fehlermeldung "Entweder BOF oder EOF ist TRUE, oder der aktuelle Datensatz wurde gelöscht.Die angeforderte Operation benötigt einen aktuellen Datensatz"
-
Stgt schrieb:
Hab bei der Variablen m_string als Variablentyp CString eingeben, stimmt doch oder?
Du musst natürlich deine eigenen Variablen benutzen. Ich glaube, im anderen Thread hiessen die m_strLastName, m_strFirstName und m_strAge, dann steht da auch was drin. Das mit m_string war doch nur ein Beispiel, wie es geht...
(Wenn es ein Troll ist, ist er gar nicht schlecht
)
-
danke isabeau, ja stimmt, au mann...ich raffs halt noch nicht
also muss ich statt m_string , m_strFirstName reinschreiben und dann sind es 3 Schleifen oder kann ich alles in 1 reinschreiben.
danke
-
welche schleifen das sind ferzweigungen.
da must du schon 3 machen um den nutzer zu sage in welchen feld was fält.MFG TaccoGo
-
ja stimmt sorry
ok danke TaccoGo, jetzt hab ichs verstanden, wenn ich z.b nur in vorname und nachname was drinstehen haben will, muss auch nur für die 2 das machen
-
ja genau!

das mit den maske und menü beeden hette ich dir auch sagen können ich habe das plos nicht so ferstanden.
MFG TaccoGo
-
ich versuch mich nächstes Mal besser auszudrücken...
-
ist OK 
-
letztes mal, ist die Reihenfolge so richtig?
void Dilog::OnHinzufuegen() { UpdateData(TRUE); m_pView->m_strLastName = m_strLastName; m_pView->m_strFirstName = m_strFirstName; m_pView->m_strAge = m_strAge; m_pView->UpdateBoundData(); // Fehlermeldung erzeugen,falls keine Daten eingegeben wurden if (m_strLastName!= " ") { //weiter arbeiten } else MessageBox("Bitte zuerst die Daten eingeben!"); // Fehlermeldung erzeugen,falls keine Daten eingegeben wurden if (m_strFirstName!= " ") { //weiter arbeiten } else MessageBox("Bitte zuerst die Daten eingeben!"); // Fehlermeldung erzeugen,falls keine Daten eingegeben wurden if (m_strAge!= " ") { //weiter arbeiten } else MessageBox("Bitte zuerst die Daten eingeben!"); m_pView->GetDocument()->AddNew(); }
-
das prüft ja nach ein leerzeichen.
du prüfst " " und nicht nach leer "" das ist wichtig!!!
MFG TaccoGo
-
hast recht, danke
-
yup jetzt gehts auch
die Reihenfolge ist denk ich mal egal, (habs ausprobiert)
Nur ist es komisch dass ich dann 2-3 mal auf "ok" klicken muss um zurückzukehren, muss ich dann noch ein Update machen?
Hab ich grad probiert,nicht geklappt
-
Kleiner Tip am Rande:
Wenn das ein CString ist, kann man eine Funktion verwenden, dann passiert sowas nicht.if (m_strAge!= "")kann man also durch
if (!m_strAge.IsEmpty())ersetzen.

... soll angeblich auch effizienter sein, aber da bin ich nciht so die Expertin.

-
das wen die 3 massageboxen sein schreib mal in jede was anderes z.b.: "Kein Vorname vorhande!", "Kein Nachname vorhanden" ...
dann weis der nutzer auch wo was fält.
MFG TaccoGo
-
@estartu_de
sogar eine Expertin
Respekt.@TaccoGo
danke, jetzt gehts auch, ist logisch dass man dann 3 Klicks braucht um rauszukommen, wenn jedes mal das gleiche drin steht
-
Du müsstest die anderen nicht mehr überprüfen wenn die erste von leer ist.
Also nach der MessageBox ein return;
Aber if else klammern nicht vergessen.
-
hi Unix-Tom
ähm, das hab ich jetzt nicht so recht verstanden, was müsste nicht mehr überprüft werden?
danke
-
er meint das wen das este felt leer ist das der nutzer soweiso einen entragmachen muss und da kanst du schn eher abbrechen.
void Dilog::OnHinzufuegen() { UpdateData(TRUE); m_pView->m_strLastName = m_strLastName; m_pView->m_strFirstName = m_strFirstName; m_pView->m_strAge = m_strAge; m_pView->UpdateBoundData(); // Fehlermeldung erzeugen,falls keine Daten eingegeben wurden if (m_strLastName!= " ") { //weiter arbeiten } else { MessageBox("Bitte zuerst die Daten eingeben!"); return; } // Fehlermeldung erzeugen,falls keine Daten eingegeben wurden if (m_strFirstName!= " ") { //weiter arbeiten } else { MessageBox("Bitte zuerst die Daten eingeben!"); return; } // Fehlermeldung erzeugen,falls keine Daten eingegeben wurden if (m_strAge!= " ") { //weiter arbeiten } else { MessageBox("Bitte zuerst die Daten eingeben!"); return; } m_pView->GetDocument()->AddNew(); }MFG TaccoGo
-
ah okay, super, so ist es natürlich am besten und schönsten
vielen dank an euch