DefaultValue

05/02/2008 - 16:40 von Lutz Fischer | Report spam
Ich hab gerade Probleme mit DefaultValues im Dataset.
In einem DataSet, das ich mit Hilfe des Datenquellen-Assistenten für eine
DB auf einem MSSQL2000 Server erstellt habe fehlen sàmtliche DefaultValues.

Z.B. für die Tabelle tbl_A:

CREATE TABLE tbl_A (
[AGUID] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT
[DF_tbl_A_AGUID] DEFAULT (newid()),
[Versteckt] [bit] NOT NULL CONSTRAINT [DF_tbl_A_Versteckt] DEFAULT (0)
)

werden zwar die NOT NULL einschrànkungen übernommen aber leider nicht
DefaultValues.

Das soetwas wie newid() nicht übernommen wird kann ich ja nachvollziehen -
von wegen und ist eine Funktion - aber warum die 0 für Versteckt nicht
übernommen wird ...

Kann man ihn irgendwie die DefaultValues aus der DB in ein DataSet
übernehmen - ohne jede einzeln per hand einzutragen?
 

Lesen sie die antworten

#1 Attila Krick
05/02/2008 - 17:14 | Warnen spam
Am Tue, 5 Feb 2008 16:40:36 +0100 schrieb Lutz Fischer:

Ich hab gerade Probleme mit DefaultValues im Dataset.
In einem DataSet, das ich mit Hilfe des Datenquellen-Assistenten für eine
DB auf einem MSSQL2000 Server erstellt habe fehlen sàmtliche DefaultValues.

Z.B. für die Tabelle tbl_A:

CREATE TABLE tbl_A (
[AGUID] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT
[DF_tbl_A_AGUID] DEFAULT (newid()),
[Versteckt] [bit] NOT NULL CONSTRAINT [DF_tbl_A_Versteckt] DEFAULT (0)
)

werden zwar die NOT NULL einschrànkungen übernommen aber leider nicht
DefaultValues.

Das soetwas wie newid() nicht übernommen wird kann ich ja nachvollziehen -
von wegen und ist eine Funktion - aber warum die 0 für Versteckt nicht
übernommen wird ...

Kann man ihn irgendwie die DefaultValues aus der DB in ein DataSet
übernehmen - ohne jede einzeln per hand einzutragen?



Hallo Lutz,

ich würde sagen das geht nicht, da die DB-Schicht gewollt, losgelöst von
der Anwendungsschicht zu betrachten ist.

ich überschreibe die EndInit() Methode:

partial class PersonenDataTable
{
public override void EndInit()
{
base.EndInit();
this.TableNewRow += new
System.Data.DataTableNewRowEventHandler(PersonenDataTable_TableNewRow);
}
void PersonenDataTable_TableNewRow(object sender,
System.Data.DataTableNewRowEventArgs e)
{
PersonenRow r = (PersonenRow)e.Row;
r.ID = Guid.NewGuid();
r.Ist_Aktiv = true;
r.Geschlecht = "M";
r.Erstellungsdatum = DateTime.Now;
r.Änderungsdatum = DateTime.Now;
}
}

Grüße

Attila

Ähnliche fragen