rabado
Mitglied
Hallo Zusammen,
nachfolgend ein Ausschnitt aus einer XML-Datei, die mehrere Tabellen verwaltet.
Die Tabelle tabNummern soll Nummern verwalten, welche über eine externe Datei in die Tabelle geschrieben werden.
Um zu vermeiden, dass eien nummer mehrfach vorkommt, wurde auf das Feld "NR" ein Primärschlüssel gesetzt.
Leider habe ich das Problem, dass eien Nummer unter VS2008(C#) trotzdem mehrfach angelegt werden kann, was an sich wegen des eindeutigen Schlüssels nicht sein kann.
Die Nummern werden wie folgt eingefügt. try catch lasse ich mal außen vor:
Warum kann ich die Nummer einfügen, obwohl ich einen eindeutigen Schlüssel habe?
Gruß -rabado-
nachfolgend ein Ausschnitt aus einer XML-Datei, die mehrere Tabellen verwaltet.
Die Tabelle tabNummern soll Nummern verwalten, welche über eine externe Datei in die Tabelle geschrieben werden.
Um zu vermeiden, dass eien nummer mehrfach vorkommt, wurde auf das Feld "NR" ein Primärschlüssel gesetzt.
Leider habe ich das Problem, dass eien Nummer unter VS2008(C#) trotzdem mehrfach angelegt werden kann, was an sich wegen des eindeutigen Schlüssels nicht sein kann.
Code:
<xs:element name="tabNummern">
<xs:complexType>
<xs:sequence>
<xs:element name="Nr" type="xs:int" />
<xs:element name="bestaetigt" type="xs:boolean" default="false" minOccurs="0" />
<xs:element name="Echt" type="xs:boolean" default="false" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
Code:
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//tabNummern" />
<xs:field xpath="Nr" />
</xs:unique>
</xs:element>
Die Nummern werden wie folgt eingefügt. try catch lasse ich mal außen vor:
Code:
DataRow r = tab.NewRow();
r["Nr"] = 1;
r["bestaetigt"] = false;
r["Echt"] = true;
tab.Rows.Add(r);
Warum kann ich die Nummer einfügen, obwohl ich einen eindeutigen Schlüssel habe?
Gruß -rabado-