Soll checken ob DB Eintrag schon vorhanden ist

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Soll checken ob DB Eintrag schon vorhanden ist

      So mein Tool hat fast seine ganzen Features drinne, nur eine sache fehlt noch. Ein Account adder.

      Ich würde gerne Checken ob der Account name schon vorhanden ist in der db wenn ja -> error wenn nein -> weiter mit dem sqlcommand

      Ich dachte mir vllt geht das ganze mit If ? nur leider weiß ich nicht wie ich das anstellen kann wenn es mit if gehen würde :D
      könnt ihr mir da vllt helfen?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von trytokillme ()

      Kein wunder, du löschst jedes mal den Inhalt deiner Listbox.
      Würdest du durch steppen (debuggen), würdest du das auch sehen.

      Quellcode

      1. while (Charsreader.Read())
      2. {
      3. object charnames = Charsreader["CharName16"];
      4. listBox1.Items.Clear();
      5. listBox1.Items.Add(charnames.ToString());
      6. };


      Aber du bist ja beratungs ressistent.
      And the reign will kill us all
      We throw ourselves against the wall
      But no one else can see
      The preservation of the martyr in me


      Slipknot - Psychosocial
      Du liest ja nicht mehrere Elemente auf einmal und kopierst die in ein Array.
      Du liest pro Schleifendurchgang ein Element.

      D.h.

      Element 1
      Element 2
      Element 3

      --> Durch dein clear, wird am ende nur Element 3 in der listbox stehen.
      Dein Clear kannst du an den Anfang deiner Methode setzen.
      And the reign will kill us all
      We throw ourselves against the wall
      But no one else can see
      The preservation of the martyr in me


      Slipknot - Psychosocial
      kann kein C#, aber würde einfach mal mit der contains methode versuchen ^^

      Quellcode

      1. if (TextBox1.Text == null) {
      2. MessageBox.Show("Error");
      3. } else if (ListBox1.Items.Contains(TextBox1.Text)) {
      4. MessageBox.Show("Hurra");
      5. } else {
      6. MessageBox.Show("ne is nicht da");
      7. }


      habs jetzt einfach mal aus dem kopf rausgemacht und in den converter reingeschmissen^^
      denke das muss man noch ausbesser, aber ich glaube so ungefähr gehts.
      ( ゚ヮ゚)
      Aber so wird ja nicht die User Table eingelesen sondern nur ne TextBox oder nicht?^^

      Edit: Achso das war jetzt noch mal ne antwort wegen der listbox. Das habe ich schon gelöst^^
      Gibt es nicht eine Stored Procedure die das schon übernimmt?
      Hab grad keinen SQL-Server am laufen, aber ich meine mich da an was erinnern zu können ...
      Weil damit gehts auf jedenfall einfacher.

      Ansonsten musste 2 Querys ausführen:

      Erst prüfen, ob schon ein Eintrag mit diesem Accountnamen vorhanden ist:

      SQL-Abfrage

      1. SELECT JID FROM SRO_VT_ACCOUNT WHERE StrUserId = <DeinUsername>


      Und wenn nicht:

      SQL-Abfrage

      1. INSERT INTO SRO_VT_ACCOUNT(StrUserId, Password, ...) VALUES (...)


      Gruß
      florian0
      Grundsätzlich kannst du das (My)SQL Seite lösen indem du den Benutzernamen als UNIQUE definierst, also darf er nur einmal vorkommen, dann kannst du direkt das INSERT ausführen und bekommst dann vom SQL-Server den Fehler, dass es diesen schon gibt, wenn du dann ne vernünftige Fehlerbehandlung hast ist das kein Problem und du kannst es dem User mitteilen.

      Ansonsten ist das von florian0 die einfachste Lösung.