Sultan Ahmed
Sultan Ahmed

Reputation: 73

Sqlite error (missing database) while trying to update jtable

private void checkKeyPressed(java.awt.event.KeyEvent evt) {                                 
    try{
        String ch ="select * from check where name like ?%";
        PreparedStatement pst=conn.prepareStatement(ch);
        pst.setString(1, check.getText());
        ResultSet rs=pst.executeQuery();
        checker.setModel(DbUtils.resultSetToTableModel(rs));

    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
} 

above is the code im using, and im getting a:

java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "check": syntax error)

i have a table named check in sqlite, and im trying to create a search engine in my jframe, so when i enter text in a textfield the jtable filters automatically. any idea why this error could come about.

Upvotes: 0

Views: 139

Answers (1)

Ali Helmy
Ali Helmy

Reputation: 794

You have to change this part, if you need to pass % you have to pass it with set Method and as check is a reserved keyword in sqlite change it to check

 String ch ="select * from check where name like ?%";
        PreparedStatement pst=conn.prepareStatement(ch);
        pst.setString(1, check.getText());

with

  String ch ="select * from `check` where name like ?";
        PreparedStatement pst=conn.prepareStatement(ch);
        pst.setString(1, check.getText()+"%");

Upvotes: 2

Related Questions