简体   繁体   English

如何在 JAVA GUI JTable Swing 中插入 sqlite DB 并使用动态搜索?

[英]How to insert sqlite DB and use dynamic search in JAVA GUI JTable Swing?

I am using try catch block to filter the data from the sqlite database , i have two issues this program is case sensitive i need it to be non case sensitive, then it filter the data only when i write the exact name given in the database.我正在使用try catch块来过滤sqlite database的数据,我有两个问题该程序区分大小写,我需要它不区分大小写,然后它仅在我写入数据库中给出的确切名称时过滤数据。 Please help to make it a dynamic filter.请帮助使其成为动态过滤器。

    textFieldSearch = new JTextField();
    textFieldSearch.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent arg0) {
            try {
            String query = "select sno,universityname,state,courses,applicationfees,deadline,admissionrequirment,undergrad,grad from UsaCollegeList where  state=? ";
            PreparedStatement pst = connection.prepareStatement(query);
            pst.setString(1, (String)textFieldSearch.getText());
            ResultSet rs=pst.executeQuery();

            table.setModel(DbUtils.resultSetToTableModel(rs));

            pst.close();

        } catch (Exception e) {
            // TODO: handle exception
            JOptionPane.showMessageDialog(null, "error");
            e.printStackTrace();
        }
    }
    });

You can compare it as follows:您可以按如下方式进行比较:

        String query = "select sno,universityname,state,courses,applicationfees,deadline,admissionrequirment,undergrad,grad from UsaCollegeList where  upper(state)=? ";
        PreparedStatement pst = connection.prepareStatement(query);
        pst.setString(1, textFieldSearch.getText().toUpperCase());
String text = "%" + textFieldSearch.getText() + "%";

String query = "select sno,universityname,state,courses,applicationfees,deadline,admissionrequirment,undergrad,grad from UsaCollegeList where sno = ? or universityname = ? or state = ? or courses = ? or applicationfees = ? or deadline = ? or admissionrequirment = ? or undergrad = ? or grad = ? ";
PreparedStatement pst = connection.prepareStatement(query);
pst.setString(1, text);
pst.setString(2, text);
pst.setString(3, text);
pst.setString(4, text);
pst.setString(5, text);
pst.setString(6, text);
pst.setString(7, text);
pst.setString(8, text);
pst.setString(9, text);
ResultSet rs=pst.executeQuery();

Thanks my dear friends, everyone helped me a lot, i got my project done.谢谢我亲爱的朋友们,大家都帮了我很多,我完成了我的项目。

    textFieldSearch = new JTextField();
    textFieldSearch.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent arg0) {
            try {
                String text = "%" + textFieldSearch.getText() + "%";
                String query = "select sno,state from UsaCollegeList where sno like ? or state like ?";
                PreparedStatement pst = connection.prepareStatement(query);
                pst.setString(1, (String)text);
                pst.setString(2, (String)text);
                ResultSet rs=pst.executeQuery();

            table.setModel(DbUtils.resultSetToTableModel(rs));

            pst.close();

        } catch (Exception e) {
            // TODO: handle exception
            JOptionPane.showMessageDialog(null, "error");
            e.printStackTrace();
        }
    }
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM