2017-03-29 3 views
-2

gegossen werden, wenn mein Handeln leite ich Fehler konfrontiert: „java.util.ArrayList kann nicht auf java.lang.String gegossen werden“Fehler: java.util.ArrayList kann nicht auf java.lang.String

und das ist mein code:

textField_1 = new JTextField(); 
     textField_1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
      Object selected = list_1.getSelectedValue(); 
      Connection conn = null; 
      PreparedStatement stmt = null; 
      String a =null; 
     try{ 

    conn=DriverManager.getConnection("jdbc:mysql://localhost/flyer","root","000"); 
    String query= " INSERT INTO flyer_item (discount) SELECT price * ? FROM `item` WHERE item_name = `?` "; 
    Statement st= conn.createStatement(); 

    java.sql.PreparedStatement ps = conn.prepareStatement(query); 
         ps.setString(1,a); 
         ps.setString(2,(String) selected); 
         ps.executeUpdate(); 
         st.executeUpdate(query); 


        } catch (SQLException se){ 
         System.out.println(se.getMessage()); 

        } }}); 

Irgendwelche Hilfe bitte?

Antwort

0

Hier Ausgewählte ist ein Array-Liste und Sie versuchen, es in Zeichenfolge zu konvertieren, was nicht möglich ist:

ps.setString(2,(String) selected); 

Was sollten Sie tun?

ps.setString(2, selected.tostring()); 
+0

Vielen Dank für Ihre Antwort! – sara

+0

Ich bin froh, Ihnen zu helfen .. kann ich einige Likes .. – Arvindsinc2

0

Sind Sie sich über diese Linie sicher?

 Object selected = list_1.getSelectedValue(); 

Stellen Sie sicher, ausgewählt vor dem Gießen ein String ist. Sie können den Operator instanceof verwenden, um den Objekttyp zu überprüfen.

+0

yah Sie haben Recht, danke! – sara

Verwandte Themen