我在我的java JInternalFrame
项目中有一个名为LCI
的NetBeans
形式,名为POST
。在LCI
有一个JTextArea
,被称为HEADING
。当我在HEADING中输入文本并点击JButton
称为SEARCH
时,我需要将HEADING与所有已存储在名为Heading
的数据库表列中的数据。
如果某个数据项的某些部分与我在HEADING
中输入的文本匹配,那么特定数据项应该从db表中获取整行数据到LCI
or else的输入字段以给出错误消息。
下面是ActionPerformed
的JButton
方法的代码,称为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
。
您的HEADING是一个char数组,但compareToIgnoreCase需要一个字符串参数。
将此行替换为下一个代码:
if(s.executeUpdate("select * from LCI where Heading".equalsIgnoreCase(HEADING)))
即只需将compareToIgnoreCase替换为equalsIgnoreCase
更新:在此行中,您尝试传递给方法executeUpdate整数值,但必须使用包含sql的字符串调用此方法。请描述您在此代码中想要做什么?