2016-11-15 8 views
0

Я получаю сообщение об ошибке, как это:неожиданный маркер в то время как данные вставки

Comit: net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc ::: 3.0.7 неожиданный маркер:: Требуется:) данные comittgl: 00: 00: 00.0id: 3 Mesin: PU 6 ресурс: < 22 tonase: 120,0 Гаджи: 21500,0 суб карапуз: 2580000,0

Это мой код:

public void comit(String tanggal,String id_gaji_kuli,String mesin,String resource,double tonase,double gaji,double sub_total_gaji) 
{ 
conn = Connect.ConnectDB(); 
     String sql = "insert into gaji(Tanggal,id_gaji_kuli,mesin,resource,tonase,gaji,sub_total_gaji)" 
       + "values("+tanggal+",'"+id_gaji_kuli+"','"+mesin+"','"+resource+"','"+tonase+"','"+gaji+"','"+sub_total_gaji+"');"; 
     try{ 
      pst = conn.prepareStatement(sql); 
      pst.execute(); 
      JOptionPane.showMessageDialog(null, "Saved"); 
      // UpdateJTable(); 
      //conn.close(); 
     } 
     catch(Exception e){ 
      //JOptionPane.showMessageDialog(null, e); 
      System.out.println("comit :"+e); 
     } 

ответ

1

Вы не используя PreparedStatement в «правильном» способе. Вы должны использовать параметризованный запрос так:

String sql = 
     "insert into gaji (Tanggal, id_gaji_kuli, ...) " + 
     "values (?, ?, ...)"; 
pst = conn.prepareStatement(sql); 
pst.setString(1, tanggal); 
pst.setString(2, id_gaji_kuli); 
// ... 
pst.executeUpdate(); 
+0

Спасибо ... Я постараюсь y'r ответ – Rahmad