2013-06-09 1 views
-1

Как я могу получить значение из 2 JDateChooser в формате yyyy-MM-d и поместить его в sql-запрос (String sql = "select .... from ... from date1 and date2") который должен искать данные между этими датами и выводиться в JTable.dateChooser Получение значения для поиска между датами

я использовал код, но вывод не появился:

String v1 = gr_date1.getDate().toString(); 
String v2 = gr_date2.getDate().toString(); 
try { 
    sql = "select barcode,itemName,description,supplier,capital,wholesale,srp,minStock,status,dateSaved from item where dateSaved between '"+v1+"' AND '"+v2+"'"; 
    pst = conn.prepareStatement(sql); 
    rs = pst.executeQuery(); 
    gReport_table.setModel(DbUtils.resultSetToTableModel(rs)); 
} catch (Exception e) { 
    JOptionPane.showMessageDialog(null, e); 
} 
+0

Прежде всего, никогда, никогда не создавайте SQL-запросы, подобные этому. Это может быть не проблема в настоящее время из-за того, как строятся строки 'v1' и' v2', но дайте ему некоторое время, и закон Мерфи кто-то * будет * в конечном итоге изменить его, чтобы он был восприимчив к инъекциям SQL: http: // en.wikipedia.org/wiki/SQL_injection Я настоятельно рекомендую вам вместо этого использовать библиотеку построения запросов, которая безопасно избегает параметров для предотвращения инъекций SQL. –

+0

его исправление спасибо в любом случае, кстати, это просто пример кодирования, но, возможно, будет улучшаться в наших дальнейших уроках – DeadLuck

ответ

0

Ваше прохождение v1 и v2 как string.Then не будет сравнивать

попробовать DateTime.Parse() для v1 и v2

DateTime.Parse (v1) и DateTime.Parse (v2)

+0

Дата dateFromDateChooser = gr_date1.getDate(); String v1 = String.format ("% 1 $ tY-% 1 $ tm-% 1 $ td", dateFromDateChooser); Я пробовал это, и он работает. Спасибо, в любом случае. – DeadLuck

 Смежные вопросы

  • Нет связанных вопросов^_^