Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hallo,

ich habe die Spalten Produkt_id, Dienstleistungs_ID, Produkt und Report in meiner Tabelle. Als Primärschlüssel habe ich die Produkt_id genommen, da diese den Datensatz eindeutig identifiziert. Ich arbeite mit einem SQL Server, dort gibt es die Möglichkeit die Produkt_id autonummerisch oder nicht autonummerisch festzulegen.

Nun würde ich gerne wissen, wie ich mit ASP doppelte Einträge in meiner Tabelle vermeiden kann, mit der Abfrage "SELECT DISTINCT" habe ich schon ausprobiert, aber es wirkt nicht.

Noch ein Punkt am Beispiel, vermuten wir ich habe folgende Einträge


Produkt_id   Dienstleistungs_ID  Produkt  Report

1                  1                 x1       y1

2                  4                 x2       y2

Wenn der Benutzer versuchen würde, einen Eintrag wie 3 4 x2 y3 hinzuzufügen, dann würde es jetzt ein Produkt namens x2 mit 2 Produkt_ids geben, und das ist nicht was ich möchte, könnte man sowas mit ASP vermeiden, so dass auch der Benutzer eine Fehlermeldung bekommt? oder die Änderungen müssen direkt in der Tabelle in der Datenbank vorgenommen werden.

Für Hilfe wäre ich dankbar. Gruß.

hi. ich weiß jetzt nicht genau ob ich richtig liege, aber kannst du nicht deiner spalte "Produkt" in der Datenbank die eigenschaft "unique" geben???

hi. ich weiß jetzt nicht genau ob ich richtig liege, aber kannst du nicht deiner spalte "Produkt" in der Datenbank die eigenschaft "unique" geben???

Meine Meinung,

leg einen Unique Index auf die Spalten und schon wird bei einem "Insert"-Versuch die Datenbank einen Fehler ausspucken

Gruß,

Markus

Klar, aber das wollte ich durch eine Meldung mit ASP auspacken.

die nummer produkt_id von der datenbank automatisch vergeben, fortlaufend ... das gibt es doch in jeder DB ...

setz mal ein select in eine datenbank mit 10000000 einträgen und suche dann die nummer die frei ist ;)

wie ich deinen postings entnehmen kann soll die spalte produkt einzigartig sein oder???

warum dann nicht die produkt-spalte als primary key hernehmen....

aber so grundsätzlich würde ich sagen dass der produktname nicht einzigartig sein müsste....

die einzigartigkeit sollte durch die ID gegeben werden.... und net durch den namen......

btw: so entspricht das rm net den normalformen :rolleyes:

hallo,

ich habe die Spalten Produkt_id, Dienstleistungs_ID, Produkt und Report in meiner Tabelle. Als Primärschlüssel habe ich die Produkt_id genommen, da diese den Datensatz eindeutig identifiziert. Ich arbeite mit einem SQL Server, dort gibt es die Möglichkeit die Produkt_id autonummerisch oder nicht autonummerisch festzulegen.

Nun würde ich gerne wissen, wie ich mit ASP doppelte Einträge in meiner Tabelle vermeiden kann, mit der Abfrage "SELECT DISTINCT" habe ich schon ausprobiert, aber es wirkt nicht.

Noch ein Punkt am Beispiel, vermuten wir ich habe folgende Einträge


Produkt_id   Dienstleistungs_ID  Produkt  Report

1                  1                 x1       y1

2                  4                 x2       y2

Wenn der Benutzer versuchen würde, einen Eintrag wie 3 4 x2 y3 hinzuzufügen, dann würde es jetzt ein Produkt namens x2 mit 2 Produkt_ids geben, und das ist nicht was ich möchte, könnte man sowas mit ASP vermeiden, so dass auch der Benutzer eine Fehlermeldung bekommt? oder die Änderungen müssen direkt in der Tabelle in der Datenbank vorgenommen werden.

Für Hilfe wäre ich dankbar. Gruß.

Gib´ mal etwas mehr Infos bitte. Die Produkt_id wird wahrscheinlich auto_increment sein, oder? Ich verstehe das so, dass nie ein Datensatz die gleiche Produkt-Nr. und Dienstleistungs_ID haben soll/darf, oder? Wenn ja, dann leg´ doch einfach einen Primärschlüssel auf diese beiden Felder, so dass hier keine Doppeleinträge vorkommen können.

Oder lieg´ ich jetzt komplett falsch? :)

hallo, danke, danke Jungs, für Ihre Antworten, als PK habe ich Produkt_id genommen, aber ich habe schon geschafft mit einer Schleife, dass doppelte Einträge nicht hinzugefügt werden, da habe ich für die Produkt_id und das Produkt eine Bedingung geschrieben, damit sowohl die Spalten Produkt_id und Produkt nicht zweimal in der Tabelle vorkommen.

Autonummerisch habe ich nicht die Produkt_id gesetzt, warum?, vermuten wir mal, der Benutzer hat einen Datensatz aus Versehen gelöscht, damit er den Fehler repariert, kann er einfach den Datensatz wieder hinzufügen, in der Eingabemaske würde dann als Textfeld auch die Produkt_id stehen. Ob ich da falsch stehe, weiss ich nicht.

Auf jeden Fall würde ich sowas wie ein "History" in meiner Applikation hinzufügen, d.h. eine Liste der Datensätze, die gelöscht wurden mit Datum und Name des Benutzers, wäre das nicht eine gute Idee?...

hallo, danke, danke Jungs, für Ihre Antworten, als PK habe ich Produkt_id genommen, aber ich habe schon geschafft mit einer Schleife, dass doppelte Einträge nicht hinzugefügt werden, da habe ich für die Produkt_id und das Produkt eine Bedingung geschrieben, damit sowohl die Spalten Produkt_id und Produkt nicht zweimal in der Tabelle vorkommen.

Autonummerisch habe ich nicht die Produkt_id gesetzt, warum?, vermuten wir mal, der Benutzer hat einen Datensatz aus Versehen gelöscht, damit er den Fehler repariert, kann er einfach den Datensatz wieder hinzufügen, in der Eingabemaske würde dann als Textfeld auch die Produkt_id stehen. Ob ich da falsch stehe, weiss ich nicht.

Auf jeden Fall würde ich sowas wie ein "History" in meiner Applikation hinzufügen, d.h. eine Liste der Datensätze, die gelöscht wurden mit Datum und Name des Benutzers, wäre das nicht eine gute Idee?...

Ok. Aber warum das Ganze mit einer Schleife abfangen, wenn es genügen würde, den Primärschlüssel nicht nur auf die Produkt_id zu legen, sondern zusätzlich auch auf Produkt? Damit gehst Du evtl. Logik-Fehler im Code aus dem Weg und die Datenbank ist somit wenigstens etwas den Normalformen ähnlich.

Das mit der History ist m.E. im Allgemeinen eine gute Idee...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.