2015-08-20 4 views
0

Я назначаю свой combobox для обработки значения или имени автомобиля, поэтому я делаю этот код, и NullPointerException всегда является ошибкой в ​​моем коде?Передача значения из базы данных в ComboBox

public CarRent() 
{ 
    initComponents(); 
    setLocationRelativeTo(null); 

    try 
    { 
    AddItem(); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 




} 


public void Conn() throws Exception 
{ 

    Class.forName("com.mysql.jdbc.Driver"); 
    conn = DriverManager.getConnection(conn1,user,pass); 

} 

public void AddItem() throws Exception 
{ 
      String s = "Select Car_Name from Car_Tbl"; 
      rs = st.executeQuery(s); 

      while(rs.next()) 
      { 
       System.out.println(cboCars); 
       cboCars.addItem(rs.getString("Car_Name")); 
      } 



} 

пробег:. java.lang.NullPointerException в trypo.CarRent.AddItem (CarRent.java:77) в trypo.CarRent (CarRent.java:50) в trypo.CarRent $ 4 .run (CarRent.java:413) at java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:312) at java.awt.EventQueue.dispatchEventImpl (EventQueue.java:745) at java.awt.EventQueue .access $ 300 (EventQueue.java:103) at java.awt.EventQueue $ 3.run (EventQueue.java:706) at java.awt.EventQueue $ 3.ru п (EventQueue.java:704) в java.security.AccessController.doPrivileged (метод Native) в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (ProtectionDomain.java:76) в java.awt.EventQueue.dispatchEvent (EventQueue. Java: 715) на java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:242) на java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:161) на java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java: 150) на java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:146) в java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:138) на java.awt.EventDispatchThread.run (EventDispatchThread.ja ва: 91) BUILD УСПЕШНОГО (общее время: 3 секунды)

+1

после полной ошибки и сказать нам строку, где ваша ошибка –

+0

, а также пожалуйста, напишите трассировки стека. –

+0

i уже изменен – shampoo

ответ

0

Попробуйте

Resultset rs = st.executeQuery(s) 
While(rs.next()) 
{ 
cboCars.addItem(rs.getString("Car_Name"); 
} 

Ваш RS переменных нужно инициализировать как ResultSet.

Я также не знаю вашего кода выше попытки. Должно быть заявление

Statement st = null; 
String s = "Select Car_Name from Car_Tbl"; 

После того, как вы заселили cboCars массива.

JComboBox carList = new JComboBox(cboCars); 

.....

Statement stmt = null; 
String q = "select Car_Name from Car_Tbl" 
String[] cars ; 
int i = 0; 
try { 
    stmt = con.createStatement(); 
    ResultSet rs = stmt.executeQuery(query); 
    while(rs.next()) { 
    cars[i] = rs.getString("Car_Name"); 
    i++; 
    } catch (SQLException e) { 
    }finally{ 
    if(stmt !=null) { stmt.close();} 
    } 
} 
// Now You have an array populated with cars . Create your combo box with the data 

JComboBox carList = new JComboBox(cars); 
+0

, он должен быть .. иначе он/она должен получить ошибку компиляции а не исключение nullpointer –

+0

вместо rs.getString (1) следует попробовать имя переменной в таблице. Также curios, чтобы увидеть код для intialize cboBox – Joey

+0

та же проблема с этим sir – shampoo