Mattyas yahya
Mattyas yahya

Reputation: 53

unexpected token while insert data

I am receiving an error like this:

comit :net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 unexpected token: : required: ) data comittgl : 00:00:00.0id :3 mesin :PU 6 resource :<22 tonase :120.0 gaji :21500.0 sub tot: 2580000.0

This is my code:

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);
        }

Upvotes: 0

Views: 985

Answers (1)

Gord Thompson
Gord Thompson

Reputation: 123399

You are not using the PreparedStatement in the "right" way. You should be using a parameterized query like this:

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();

Upvotes: 1

Related Questions