Server Compact - überprüfen Datensatz schon vorhanden?


kanada

Mitglied
Habe da mal wieder eine Frage, ich habe mir für ein kleines privates Projekt eine DB Anwendung geschrieben, es funktioniert soweit auch alles, bis auf eine Funktion. Und zwar würde ich gerne bevor ich mit Insert einen neuen Datensatz anlege, überprüft wird ob schon ein Gleichnamiger existiert.

Besonderheit sollte sein, da dabei Leerzeichen, Sonderzeichen (-) ignoriert werden.

Sodass bei folgendem Beispiel:

Eingetragener DB Wert: FG-1234

Bei erneute Eingabe mit: FG1234 meckert, da schon vorhanden.

Wie kann ich das denn am besten mit C# und MS Server Compact 4 umsetzen?
 

Bullja

Erfahrenes Mitglied
Sinnvoll wäre es die Werte in der Datenbank zu normalisieren: Leerzeichen, Sonderzeichen, etc. entfernen. Tipp: mit Regex alles ausser [a-zA-Z0-9] entfernen. Das soll dann immer getan werden bevor ein Wert abgespeichert wird.
Sobald dann ein identischer Wert hinzugefügt werden will, wird der DB Server dies nicht erlauben (Fehlermeldung/kein neuer Eintrag), angenommen die Spalte erlaubt nur identische Einträge.

Alternative:

Bevor ein neuer Eintrag gemacht wird, hole Dir erst alle Werte aus der DB (SELECT spalte_fg FROM tabelle...). Normalisiere jeden Wert und prüfe auf Gleichheit mit dem Neuen.