2014-02-26 44 views
3

我想從JComboBox中獲取所選值,在數據庫中搜索並使用JTextField中的值更新數據庫中的數量。下面是代碼:使用JTextField - 無法將值轉換爲int

Object selected = jComboBox1.getSelectedItem(); 
    String album = (String)selected; 
    int qty=Integer.parseInt(jTextField7.getText()); 
    String query2="update productlist set QtyAvail=? " + 
       "where Album=?"; 
     try 
     { 
      PreparedStatement ps2=con.prepareStatement(query2); 
      ps2.setInt(1, qty); 
      ps2.setString(2,album); 
      int res1=ps2.executeUpdate(); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 

我得到這個錯誤:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: 
    For input string: " 1" 
    at java.lang.NumberFormatException.forInputString(Unknown Source) 
    at java.lang.Integer.parseInt(Unknown Source) 
    at java.lang.Integer.parseInt(Unknown Source) 
    at AddProductPanel.jButton2ActionPerformed(AddProductPanel.java:341) 
    at AddProductPanel.access$4(AddProductPanel.java:335) 
    at AddProductPanel$5.actionPerformed(AddProductPanel.java:133) 

我在文本字段中輸入的值 '1'。

回答

5

有一個在字符串輸入一個空格,以parseInt(),使用trim()

2

你的字符串中包含空格。解析之前

使用裝飾:

int qty=Integer.parseInt(jTextField7.getText().trim()); 
1

@Nivedita高塔姆:看來a blank空間1之前追加。 嘗試使用下面的語句:

int qty = Integer.parseInt(jTextField7.getText().trim()); 
4

I want to get the selected value from JComboBox , search it in database and update the quantity in database with the value in JTextField .

  • 使用JFormattedTextFieldNumber Formatter

  • 也許更好的將是JSpinner使用與SpinnerNumberModel

  • 避免數據之間解析類型,您可以控制輸入的值(min - max - ev。範圍 - 十進制形式)

+2

*「或者也許更好的將是JSpinner'的使用'和'SpinnerNumberModel'」 *我等着有人* *表明,(最好IMO)替代普遍的問題。 :) –

+0

AFAIK有兩個用戶在這裏你和.... – mKorbel