Defaultbelegung für existierende Datensätze - Vorgehensweise, Möglichkeiten.

15/04/2010 - 20:09 von Markus Mayer | Report spam
Hallo,

bis Februar 2010 gab es weniger Spalten.
Nun sind welche hinzu gekommen.
Datensàtze existieren.
Wie erfolgt die Defaultbelegung für existierende Datensàtze.
Bediener will ja nicht alles anklicken.

siehe Bild.
http://www1.minpic.de/bild_anzeigen.php?id9701&key`366932&ende

this.MydataSet.tblLayoutVariable.Columns["New1"].DefaultValue = 27;
this.MydataSet.tblLayoutVariable.Columns["New2"].DefaultValue = false;
this.MydataSet.tblLayoutVariable.Columns["New3"].DefaultValue = true;
this.MydataSet.tblLayoutVariable.Columns["New4"].DefaultValue = false;


Grüße Markus
 

Lesen sie die antworten

#1 Elmar Boye
15/04/2010 - 21:11 | Warnen spam
Hallo Markus,

"Markus Mayer" schrieb ...
bis Februar 2010 gab es weniger Spalten.
Nun sind welche hinzu gekommen.
Datensàtze existieren.
Wie erfolgt die Defaultbelegung für existierende Datensàtze.



Da gibt es keine Defaults mehr, da wird das genommen was in der
Datenbank steht.

Deswegen, aktualisiere die bestehenden Datenzeilen auf die
Defaultwerte, z. B. (anhand Deines Bildchens zusammengebastelt):

UPDATE tblLayoutVariable
SET Shutter = 27,
LightIntern = 0,
LightExternal1 = 1,
LightExternal2 = 0
WHERE Shutter IS NULL
AND LightIntern IS NULL
AND LightExternal1 IS NULL
AND LightExternal2 IS NULL;

und das einmalig via ExecuteNonQuery an die Datenbank schicken.

(je nach Datentyp/RDBMS mußt ggf. andere Werte für die Booleans setzen).

Bediener will ja nicht alles anklicken.



Der andere Weg liefe auf ein Durchlaufen der DataTable nachdem
Abrufen hinaus, wo Du die Defaults nach obigem Muster manuell
setzen müsste. Und wird der Satz in der Datenbank gespeichert,
würde damit auch die Defaults dort landen.

In Zukunft: Lege bei Änderungen gleich den Default fest
(und verzichte ggf. auf NULL, wenn ohnehin nicht erwünscht).
Z. B. für den SQL Server:
ALTER TABLE tblLayoutVariable
ADD Shutter int NOT NULL
CONSTRAINT DF_tblLayoutVariable_Shutter DEFAULT (27),
LightIntern bit NOT NULL
CONSTRAINT DF_tblLayoutVariable_LightIntern DEFAULT (0),
LightExternal1 bit NOT NULL
CONSTRAINT DF_tblLayoutVariable_LightExternal1 DEFAULT (1),
LightExternal2 bit NOT NULL
CONSTRAINT DF_tblLayoutVariable_LightExternal2 DEFAULT (0);

Gruß Elmar

Ähnliche fragen