检查Java中两个字符串是否几乎相等

问题描述 投票:-1回答:2

我在我的java JInternalFrame项目中有一个名为LCINetBeans形式,名为POST。在LCI有一个JTextArea,被称为HEADING。当我在HEADING中输入文本并点击JButton称为SEARCH时,我需要将HEADING与所有已存储在名为Heading的数据库表列中的数据。

如果某个数据项的某些部分与我在HEADING中输入的文本匹配,那么特定数据项应该从db表中获取整行数据到LCIor else的输入字段以给出错误消息。

下面是ActionPerformedJButton方法的代码,称为SEARCH

 private void SEARCHActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try{
            Statement s=DB.getConnection().createStatement();  
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            HEADING.getText().toCharArray();
         //   s.executeUpdate("select * from LCI where Heading".compareTo(HEADING);
           // s.executeUpdate("select * from LCI where Heading".contains(HEADING);
            //s.executeUpdate("select * from LCI where Heading".matches(HEADING);
           // s.executeUpdate("select * from LCI where Heading".
            if(s.executeUpdate("select * from LCI where Heading".compareToIgnoreCase(HEADING)))
            {
                JOptionPane.showMessageDialog(this, "Finished Searching.");

            } else {
                JOptionPane.showMessageDialog(this, "Nothing similar to the text you enterd.");
            }


        }
        catch(Exception ex){
            ex.printStackTrace();
        }// TODO add your handling code here:
    } 

但这个代码似乎是错误的。红色的感叹号出现在if(s.executeUpdate("select * from LCI where Heading".compareToIgnoreCase(HEADING)))线之前

任何人都可以请告诉我如何修改此代码以完成我需要的工作?非常感谢您提前。我使用NetBeans 8.0.2

java mysql search jtextarea string-comparison
2个回答
0
投票

您的HEADING是一个char数组,但compareToIgnoreCase需要一个字符串参数。


0
投票

将此行替换为下一个代码:

if(s.executeUpdate("select * from LCI where Heading".equalsIgnoreCase(HEADING)))

即只需将compareToIgnoreCase替换为equalsIgnoreCase

更新:在此行中,您尝试传递给方法executeUpdate整数值,但必须使用包含sql的字符串调用此方法。请描述您在此代码中想要做什么?

© www.soinside.com 2019 - 2024. All rights reserved.