2017-03-29 5 views
-2

にキャストすることはできません私はエラーに直面した: 「java.util.ArrayListのは、java.lang.Stringでにキャストすることはできません」エラー:私のアクションを実行しているときはjava.util.ArrayListはjava.lang.Stringで

をし、これは私のコードです:

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()); 

        } }}); 

助けてください。ここで選択

答えて

0

は、配列リストであり、あなたは可能ではない文字列に変換しようとしている:あなたは何をすべき

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

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

お返事ありがとうございます! – sara

+0

お手伝いをしてうれしいです..好きになるかもしれません.. – Arvindsinc2

0

この行は本当ですか。

 Object selected = list_1.getSelectedValue(); 

は、鋳造の前の文字列であるを選択していることを確認します。 instanceof演算子を使用して、オブジェクトタイプをチェックすることができます。

+0

あなたは正しいです、ありがとう! – sara

関連する問題