Problem with INSERT.............ON DUPLICATE KEY

Servus, ich habe eine Scansystem von IP Adresse gebastelt. Mein System macht folgendes. Das scant das ganze Netzwerk und speichert diese IP Adresse in einer Datenbank. Man kann auch IPadresse aus Datenbank lesen. Nun habe ich folgendes Problem. Beim Einfügen möchte ich keine Doppelte IP und Hostname haben.12459Y ich habe es versucht mit eine SQL-Anfrage zu bewältigen aber kommt immer die Fehlermeldung raus.
bitte kann jd mir dabei helfen. Danke im Voraus für Ihre Hilfe.
Das ist meine Insert-function
Java:
  // insert date in database
 
public static void  insertdb(String sql,String ip,String HostName,int s) {
      try {
          
          st=conn.prepareStatement(sql);
          st.setString(1,ip);
          st.setNString(2, HostName);
          st.setInt(3, s);
          st.executeUpdate();
          System.out.println("Insertion ok");
      
          
  }
      catch (SQLException e) {
          
          System.out.println("Problem by inserting " + e );
          
      }
  }
und hier rufe ich die auf
Java:
insertdb("\"INSERT INTO Adresse (Ip,HostName,ThreadNummer) VALUES (?,?,?) ON DUPLICATE KEY UPDATE  Ip=Ip+1,HostName=HostName+1,ThreadNummer=ThreadNummer+1",s,ad.getHostName(),2);
 
Ich habe
Welche Fehlermeldung?

(Wenn ich von deinen letzten Beiträgen ausgehe: sqlserver kennt ON DUPLICATE KEY nicht, daher wird das einen Fehler werfen.)
ja ich habe einen Primaärschlüssel festgelegt , leider kriege ich immer eine Felhermeldung :
Gibt es eine Möglichkeit zu prüfe ob die Daten in der Datenbank schon liegt,bevor das Programm reinschreibt? also ich suche einen guten Ansatz.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben