2016-12-12 2 views
0

Ich muss überprüfen, ob die Daten existieren, wenn die Daten nicht vorhanden waren, dann kann ich einfügen und aktualisieren, aber wenn die Daten vorhanden sind, zeigt die Messagebox, dass die Daten bereits existieren aber wenn ich versuchte, dieselben Daten hinzuzufügen, die bereits existieren, fügt es noch hinzu und keine messagebox zeigte an, dass es bereits existiert.Prüfen, ob vorhanden oder nicht, dann Einfügen Update

hier ist mein Code

If jobtitle <> "" And businessunit <> "Please Select" And division <> "Please Select" And subdivision <> "Please Select" And classification <> "Please Select" And subclassification <> "Please Select" Then 
      insrtResult = UpdateInsDelRecord("UPDATE EMP_MASTERTBL SET JOBTITLE = '" & jobtitle & "' " & _ 
            "WHERE MASTERID = '" & empID & "'" & _ 
            ";" & _ 
            "INSERT INTO EMPGROUP_TBL(MASTERID, BUSINESS_UNIT, " & _ 
            "DIVISION, SUB_DIVISION, CLASSIFICATION, SUB_CLASSIFICATION) VALUES " & _ 
            "('" & HandleQuote(empID) & "', " & _ 
            "'" & businessunit & "' ," & _ 
            "'" & division & "' ," & _ 
            "'" & subdivision & "' ," & _ 
            "'" & classification & "' ," & _ 
            "'" & subclassification & "')") 

      If Not insrtResult Then 
       MessageBox("alert('Error Ocurred While Inserting a Data.')") 
      Else 
       MessageBox("alert('Successfully Added.')") 
      End If 
     Else 
      MessageBox("alert('Data Already Exist.')") 
     End If 

was das Problem zu meinem Code sein könnte? Danke im Voraus.

+2

Mögliches Duplikat [verhindern doppelte Einträge in der Datenbank] (http://stackoverflow.com/questions/40478342/prevent-duplicate-entries-to-database) – e4c5

+1

'MySQL' oder' SQL Server'? – Squirrel

+0

Was bedeutet es, wenn Daten existieren? In der DB oder in der Form? In letzterem Fall wird es in Ihrem Code ausreichen, das einzige der Felder zu valorisieren, damit die Einfügung und Aktualisierung – Massimo

Antwort

0

Für SQL Server überprüfen Sie die MERGE-Abfrage, ich habe dies verwendet, um eine "upsert" auf meiner eigenen db durchzuführen, es scheint auch schnell genug zu sein.

können Sie wählen, eine Bedingung und verschiedene Operationen durchführen, ob es wahr oder falsch zurückgibt (zB wenn ID existiert bereits dann aktualisieren, sonst Einsatz)

Für MySql Ich denke, es gibt Lösungen viel einfacher zu schreiben, wich unfortunatly ich kann im Moment nicht erinnern

https://msdn.microsoft.com/en-us/library/bb510625.aspx

Verwandte Themen