Frage : Einzigartige Begrenzung auf Datensatz

Hallo, haben

I den folgenden Code, in dem ich Daten in einsetzendes database.
Before einsetze, ich überprüfen die Daten im Datensatz auf duplicates.
If dort sind Duplikate, möchte ich das save.
So verhindern, verursachte ich eine Begrenzung für den Datensatz und möchte sich die Ausnahme verfangen, wenn die Schlüsselbegrenzung violated.
ist, immer wenn es Duplikataufzeichnung gibt, welche die Ausnahme im Fangblock (Begrenzungsausnahme) verfangen werden muss.
It wird im Endenfang block.
Why ist es im Voraus verfangend nicht im Fangblock für Begrenzung exception

Thanks
1 verfangen:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
Try
                builder.GetUpdateCommand ()
                myDataAdapter.UpdateCommand = builder.GetUpdateCommand ()
                ds. Tabellen (0). Spalten (1).Unique = richten aus
                Schwaches myUC als UniqueConstraint
                Schwaches mytable als DataTable = ds. Tabellen (0)
                Versuch
                    myUC = neues UniqueConstraint („UC“, ds. Tabellen (0). Spalten (1))
                    'ds. Tabellen (0). Constraints.Add (myUC)
 		Fang ukex als ConstraintException
                MessageBox.Show („Spalteninhalt ist nicht einzigartige“, „doppelte Daten“, MessageBoxButtons.OK, MessageBoxIcon.Stopp)
                'Fang uniqEx als Ausnahme
                    'MessageBox.Show (uniqEx.Message)
                    Unterseeboot herausnehmen
                Versuch beenden
                myDataAdapter.Update (ds, „myDataset“)
            	MessageBox.Show („Ihre Daten werden“, „außer erfolgreichem gespart! ")
            	Fang ex als Ausnahme
           	MessageBox.Show („Name:  saveData“ + vbCrLf + „Fehlermeldung: “ + ex.ToString)
        	Enden-Versuch

Antwort : Einzigartige Begrenzung auf Datensatz

In Ihrem ersten Abschnitt erklären Sie wirklich, einzigartig =… so dieses ausrichten einstellt die Begrenzung.  In zweiten verursachen Sie die Begrenzung und stellen sie auf, aber Sie müssen ds.EnforceConstraints=True sagen.  An diesem Punkt sollte es, kivk heraus Ihre Ausnahme wenn.

Weitere Lösungen  
 
programming4us programming4us