2013-09-19 2 views
0

У меня есть определенное предварительно определенное время в базе данных mysql в формате varchar, например - 16:45, 00:30, 09:15, 20:50 и еще 10.Как установить предопределенное время в jspinner

Я хочу, чтобы отобразить любую из этих раз в JSpinner Я пытаюсь, но получаю ошибку это моя установку JSpinner где я отображение времени это находится внутри constructor-

Date date = new Date(); 
SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.HOUR_OF_DAY); 
arr_time.setModel(sm); 
JSpinner.DateEditor ar = new JSpinner.DateEditor(arr_time, "HH:mm"); 
arr_time.setEditor(ar); 

и это мое изменить код кнопки где выборка время в виде строки из базы данных, пытаясь показать их в JSpinner

try { 
    if (evt.getActionCommand().equals("Modify")) { 
     String flno=JOptionPane.showInputDialog(this, "Enter Flight Number"); 
     String sql="SELECT * FROM flights WHERE flightno='"+flno+"'"; 
     smt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 
     rs = smt.executeQuery(sql); 
     while (rs.next()) { 
      jTextField1.setText(rs.getString(1)); 
      arr_time.setValue(rs.getString(2)); 
      jTextField4.setText(rs.getString(4)); 
      jTextField5.setText(rs.getString(5)); 
     } 
    } else if(evt.getActionCommand().equals("Update")) { 
    } 

пробег: недопустимое значение

Ошибка приходит в NetBeans 7.1

+0

Имейте в виду, что построение оператор SQL путем конкатенации пользовательского ввода в строку создает общую и серьезную уязвимость, известную как [SQL инъекции] (HTTP://en.wikipedia.org/wiki/SQL_injection). Вместо этого вы должны вызвать 'con.prepareStatement' и вызвать метод setString для PreparedStatement. – VGR

ответ

2

Хотя не очевидно, ошибка говорит о типе используемого для установки JSpinner и String читать из базы данных несовместимы. SpinnerDateModel использует Date в качестве базового типа объекта

Попробуйте

SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
arr_time.setValue(format.parseObject(rs.getString(2))); // e.g. input 16:45 
+0

Спасибо за ваши усилия. – user2747954