OOP: Speichern in eine Datenbank

09/06/2009 - 11:26 von Albert Andersson | Report spam
Hallo zusammen

Sagen wir ich habe eine Klasse

public class Person
{
private int _id;
private string _forename;
private string _surname;

public string Forename {get {return _forename;}}
public string Surname{get {return _surname;}}
}

und dazu eine GUI in der diese Daten angezeigt und veràndert werden können.
Ändere ich nun name und vorname in der GUI ab und drücke speichern ...
was sollte Passieren?
Man erwartet, dass die Person auch in der Datenbank veràndert wird.
Ich sehe nun zwei wege der Implementantion:

1. Mit einem Setter auf der Eigenschaft wird die DB direkt und auch
gleich die Klasse veràndert. --> bei vielen ànderungen in vielen Feldern
gibt es hier auch viele querys die Abgesetzt werden.

2. Die neuen werte werden erst in die Klasse aufgenommen ...
_newForename; _new... und danach in einem Dynamischen Query verbaut und
abgesetzt. --> der Logische aufwand steigt extrem an und steht
wahrscheindlich in keinem Verhàltnis zum nutzen.

Wie löst ihr das?

mfg
Albert
 

Lesen sie die antworten

#1 Noman K.
09/06/2009 - 11:41 | Warnen spam
Hello,

Am einfachsten ist es wenn Du eine Update Methode hinzufügst.

public void Update()
{
using(SqlConnection)
{
//update personentabelle set vorname = _forename ... where id = _id;
}
}

somit sparst du dir die ganze komplexe logik und der zugriff auf die
datenbank wird auch minimiert.

lG

On 09.06.2009 11:26, Albert Andersson wrote:
Hallo zusammen

Sagen wir ich habe eine Klasse

public class Person
{
private int _id;
private string _forename;
private string _surname;

public string Forename {get {return _forename;}}
public string Surname{get {return _surname;}}
}

und dazu eine GUI in der diese Daten angezeigt und veràndert werden können.
Ändere ich nun name und vorname in der GUI ab und drücke speichern ...
was sollte Passieren?
Man erwartet, dass die Person auch in der Datenbank veràndert wird.
Ich sehe nun zwei wege der Implementantion:

1. Mit einem Setter auf der Eigenschaft wird die DB direkt und auch
gleich die Klasse veràndert. --> bei vielen ànderungen in vielen Feldern
gibt es hier auch viele querys die Abgesetzt werden.

2. Die neuen werte werden erst in die Klasse aufgenommen ...
_newForename; _new... und danach in einem Dynamischen Query verbaut und
abgesetzt. --> der Logische aufwand steigt extrem an und steht
wahrscheindlich in keinem Verhàltnis zum nutzen.

Wie löst ihr das?

mfg
Albert

Ähnliche fragen