2016-01-19 2 views
0

У меня есть выбор даты в java, и когда я передал дату в таблицу дерби, хотя подготовил инструкцию вставки ниже, я получил сообщение об ошибке, отклоняющее тип даты, в моем table i put date type - дата. Ниже код второе поле не принято pst.setString базы данных (2 dateChooser.getText()) ;:Как я могу сохранить дату от выбора даты свинг до дерби-сказки с полем даты

public void DoSave() { 
      try{ 
       String host1 = "jdbc:derby://localhost:1527//accountsdb"; 
       String uName1="accounts"; 
    String uPass1="accounts"; 
    con1=DriverManager.getConnection(host1,uName1 ,uPass1); 
    String sql1="INSERT into journal            
    (journal_no,journal_date,journal_submain_no,journal_dr 
    , journal_cr,journal_desc,journal_user,journal_docno) 
    values ( ?,?,?,?,?,?,?,?)"; 
    PreparedStatement pst=con1.prepareStatement(sql1); 
pst.setString(1,jTjournal_docno.getText().trim()); 
pst.setString(2,dateChooser.getText()); 
pst.setString(3,jTjournal_submain_no.getText().trim()); 
pst.setString(4,jTjournal_amount.getText()); //Dr 
pst.setString(5,jTjournal_amount.getText());//Cr 
pst.setString(6,jTjournal_desc.getText().trim()); 
pst.setString(7,Frmlogin.myname); 
pst.setString(8,jTjournal_docno.getText().trim()); 
pst.execute(); 
rs.close();  
    doClear(); 
    JOptionPane.showMessageDialog(null, "Saved "); 
    new JFband().setVisible(true); 
    this.dispose(); 
    }    
    catch (SQLException ex) { 
     System.out.println(ex.getMessage()) ;  
} 
    } 

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

+0

Рассмотрите возможность использования 'PreparedStatement # setDate', возможно, потребуется преобразовать' java.util.Date' в 'java.sql.Date', что-то вроде' нового java.sql .Date (utilDate.getTime()) 'например – MadProgrammer

+0

И вы, вероятно, должны использовать' dateChooser.getDate() 'или' getValue() 'или любой метод вернет объект' Date' – MadProgrammer

+0

Что-то вроде [this] (http: //stackoverflow.com/questions/30180080/jdatechooser-as-parameter-in-mysql-query/30180124#30180124) например – MadProgrammer

ответ

0

Последнее, что у меня есть решение, похоже, выбор даты Я использую не знакомый с моим кодом, теперь я был добавлен jcalendar-1.3.3 jar library в мой проект и заменил мою старую дату выбрать с JDateChooser и теперь код работает нормально, и я могу вставить записи с датой в таблицу согласно моему ниже код:

public void DoSave() { 
      try{ 
       String host1 = "jdbc:derby://localhost:1527//accountsdb"; 
       String uName1="accounts"; 
    String uPass1="accounts"; 
    con1=DriverManager.getConnection(host1,uName1 ,uPass1); 
    String sql1="INSERT into journal (journal_no,journal_date,journal_submain_no,journal_dr,journal_cr,journal_desc,journal_user,journal_docno) values (?,?,?,?,?,?,?,?)"; 

PreparedStatement pst=con1.prepareStatement(sql1); 
pst.setInt(1,Integer.parseInt(jLvoucher_no.getText().trim())); 
pst.setString(2,((JTextField)dateChooser.getDateEditor().getUiComponent()).getText()); 
pst.setInt(3,Integer.parseInt(jTjournal_submain_no.getText().trim())); 
pst.setInt(4,Integer.parseInt(jTjournal_amount.getText().trim())); //Dr 
pst.setInt(5,Integer.parseInt(jTjournal_amount.getText().trim()));//Cr 
pst.setString(6,jTjournal_desc.getText().trim()); 
pst.setString(7,Frmlogin.myname); 
pst.setString(8,jTjournal_docno.getText().trim()); 
pst.execute(); 
JOptionPane.showMessageDialog(null, "Saved"); 




    }    
    catch (SQLException ex) { 
     System.out.println(ex.getMessage()) ;  
} 
    }