2017-02-08 3 views
-2

Ich entwickelte Mitarbeiter Lohnbuchhaltung mit Java und MySQL.java.sql.SQLexception: Kein Wert für Parameter 1

Mein Problem ist, dass wenn ich das Geschlecht aktualisieren dann dieser Fehler auftritt.

java.sql.SQLException: kein Wert für den Parameter angegeben 1.

Also, was soll ich tun?

Hier ist mein Code für Update-Button:

String value4 = txt_id.getText(); 
    int x = JOptionPane.showConfirmDialog(null, "Are you sure you want to update?","Update Record",JOptionPane.YES_NO_OPTION); 
if(x==0){  
    try{ 
     String value1 = txt_firstname.getText(); 
    String value2 = txt_surname.getText(); 

    String value3 = txt_dob.getText(); 
    String value5 = txt_email.getText(); 
    String value6 = txt_tel.getText(); 
    String value7 = txt_address.getText(); 
    String value8 = txt_dep.getText(); 
    String value9 = txt_add2.getText(); 
    String value10 = txt_apt.getText(); 
    String value11 = txt_pc.getText(); 
    String value12 = txt_design.getText(); 
    String value13 = txt_status.getText(); 
    String value14 = txt_salary.getText(); 
    String value15 = txt_job.getText(); 
    String value16 = txt_doj.getText(); 
    String sql= "update Staff_information set id='" 
      +value4+"',first_name='" 
      +value1+"', surname='" 
      +value2+"', " + "Dob='" 
      +value3+"',Email='" 
      +value5+"',Telephone='" 
      +value6+"'," + "Address='" 
      +value7+"',Department='" 
      +value8+"', Address2 = '" 
      +value9+"', " + "Apartment = '" 
      +value10+"', Post_code ='" 
      +value11+"', " + "Designation ='" 
      +value12+"', Status ='" 
      +value13+"', Salary ='" 
      +value14+"', job_title ='" 
      +value15+"', Date_Hired ='" 
      +value16+"',Gender='"+gender+"', Image=? where id='"+value4+"' "; 
    pst=conn.prepareStatement(sql); 
    pst.execute(); 
    JOptionPane.showMessageDialog(null, "Record Updated"); 
    }catch(Exception e) 
    { JOptionPane.showMessageDialog(null, e); 
    } 
    try{ 

     File file = new File(filename); 
     FileInputStream fis = new FileInputStream(file); 
     byte[] image = new byte[(int) file.length()]; 
     fis.read(image); 

     String sql = "update Staff_information SET Image =? where id ='"+value4+"'"; 
     pst = conn.prepareStatement(sql); 
     pst.setBytes(1, image); 
     pst.executeUpdate(); 
     pst.close(); 

    }catch(Exception e){ 
     JOptionPane.showMessageDialog(null, e); 
    } 

    finally { 
     try{ rs.close(); 
     pst.close(); 
     } catch(Exception e){ 
     } 
    } 

} 
+0

BTW sollten Sie die vorbereiteten Anweisungsfunktionen auf all Ihren Parametern verwenden, nicht nur das Bild. – BackSlash

+0

PLZ überprüfen, dass meine erste Zeile wahr oder falsch ist ???? –

+1

Von "Welche Themen kann ich hier fragen?": "Fragen, die Debugging-Hilfe (...) suchen, müssen (...) den kürzesten Code enthalten, der zur Reproduktion benötigt wird (..). – Gustave

Antwort

0

Sie müssen Parameter für die erste SQL einzustellen.

String sql= "update Staff_information set id='" 
      +value4+"',first_name='" 
      +value1+"', surname='" 
      +value2+"', " + "Dob='" 
      +value3+"',Email='" 
      +value5+"',Telephone='" 
      +value6+"'," + "Address='" 
      +value7+"',Department='" 
      +value8+"', Address2 = '" 
      +value9+"', " + "Apartment = '" 
      +value10+"', Post_code ='" 
      +value11+"', " + "Designation ='" 
      +value12+"', Status ='" 
      +value13+"', Salary ='" 
      +value14+"', job_title ='" 
      +value15+"', Date_Hired ='" 
      +value16+"',Gender='"+gender+"', Image=? where id='"+value4+"' "; 
    pst=conn.prepareStatement(sql); 
pst.setBytes(1, somevaluehere);** 

    pst.execute(); 
+0

No i dnt unde rstand..kann es erklären .. –

+0

Sie übergeben Image =? in der ersten sql-Anweisung und erwartet einige Parameter, die gesetzt werden müssen. Sie müssen also pst.setBytes (1, somevaluhere) hinzufügen; wo Wert kann ein Bild oder etwas anderes sein, das Ihr Programm erwartet – Jeet

+0

Ich denke, in 7 Zeile fehlt etwas .. aber ich weiß nicht, was ???? –

Verwandte Themen