[C#] Wann wird gespeichert?

Azador

PHP Bastler
ID: 108964
L
9 Mai 2006
70
4
Hallo liebe Klammer!

Bin (noch) ein wenig neu im objektorientierten Programmieren, habe jetzt ein kleineres Projekt für einen Freund übernommen und steige da jetzt so nach und nach durch.

Aber ein großes Problem bietet sich mir nach wie vor.

Es soll ein Formular programmiert werden, dass einige Sachen aus einer DB ausliest, anzeigt, ändert und wieder in die DB zurückspeichert.

Das funktioniert auch alles ganz wunderbar.

Nur finde ich den Punkt nicht, wo tatsächlich etwas die (schon vorhandenen) DB-Funktionen mit "Update blabla WHERE blabla" aufruft. Ich finde nur die Funktion, die Funktion, die an den Button geknüpft ist. Diese setzt die dann die veränderten Formularfelder in veränderte Klasseneigenschaften um.

Code:
...
myClass.Eigenschaft1 = txtEigenschaft1.Text;
myClass.Eigenschaft2 = txtEigenschaft2.Text;
...
Und ich finde den Punkt, wo die DB-Funktionen aufgerufen werden (die ja auch bei den alten Sachen funktionieren - sowie bei einigen neuen Sachen, die ich eingefügt habe).

Aber wo ist die Schnittstelle? Ich vermute, dass die irgendwo beim "Close" des Formularfensters liegt, und dass von da aus die "Save" Funktion der zugehörigen Klasse aufgerufen wird. Aber ich hab das ganze Projekt durchsucht, mit Strg+F und ohne, aber ich finde diesen einen Zwischenschritt nicht.

Wisst ihr vielleicht, ob es eine "Standardprodzedur" beim Schließen einer "Form" gibt, die dann automatisch die oder die Funktion aufruft? Wüsste das zu gerne. Es ist zum Mäusemelken ^^

Edit: Vielleicht noch ein paar zusätzliche Infos:
Mit den Formularen speichert man quasi Kästen, in denen jeweils Bälle drin sind. Ichmöchte nun, dass wenn ich das Formular zum Ändern eines Balles aufrufe (um Größe, Farbe, Muster zu ändern) auch auswählen können, dass er mein Lieblingsball ist.
Jetzt wollte ich gerne folgenden dreizeiler irgendwie unterbringen:

Code:
myBall.Lieblingsball = txtLieblingsball.Checkbox;
If (myBall.Lieblingsball == true )
{ Setze (alle anderen Bälle).Lieblingsball = false; }

Wie gesagt, die erste Zeile funktioniert - ich kann einem Ball Lieblingsballstatus geben und auch wieder entziehen.
Aber er löscht dabei nicht den Status der anderen Bälle!!! Wo muss ich dieses löschen reinschreiben? Da komm ichmit den Klassen durcheinander!

Versucht hab ich bis jetzt direkt in die ButtonClose Funktion zu schreiben...
 
Zuletzt bearbeitet:
[...] Das funktioniert auch alles ganz wunderbar.

Nur finde ich den Punkt nicht, wo tatsächlich etwas die (schon vorhandenen) DB-Funktionen mit "Update blabla WHERE blabla" aufruft. [...]
Such' mal die ganzen ODBC-Funktionen. Ich würde den ganzen Input- und Output von/zur DB in eine eigene Klasse schreiben und die vielleicht auch noch in eine DLL auslagern. Schau' Dir vielleicht mal an, ob irgendwo eine DLL geladen wird.

Azador schrieb:
[...] Wie gesagt, die erste Zeile funktioniert - ich kann einem Ball Lieblingsballstatus geben und auch wieder entziehen.
Aber er löscht dabei nicht den Status der anderen Bälle!!! Wo muss ich dieses löschen reinschreiben? Da komm ichmit den Klassen durcheinander!
Wie: Du kommst mit den Klassen durcheinander?

Gruß,
Photon