在我当前的项目中,我有一个包含4列的jtable。我不想在第二列中存储重复的数据,因此在将jtable中的每一行存储到数据库之前,我都会对其进行检查。

这是我的代码:

String s="";
int row = table.getRowCount();
for (int i=0; i<row; i++)
{
    s = table.getValueAt(i, 1).toString().trim();
    if (name.getText().equals(s))
    {
      JOptionPane.showMessageDialog(null, "data alreadyexist.","message",JOptionPane.PLAIN_MESSAGE);
    break;
    } else {
      add();
      break;
    }
}

最佳答案

正如我所看到的,您并没有遍及整个表格。您仅检查第一行中的数据是否可用。在此之后,该方法注意到第2行中可能存在相同的数据并中断,因此您添加了1行并停止了,因为您逐行对其进行检查,并且对于不匹配的每一行,请添加一个新数据,直到他发现与您要添加的行匹配的行

String s = "";
boolean exists = false;
for (int i=0; i<table.getRowCount(); i++)
{
    s = table.getValueAt(i, 1).toString().trim();
    if(name.equals(s))
    {
       exists = true;
       break;
    )
)
if(!exists)
    add();
else
    JOptionPane.showMessageDialog(null, "data already exist.","message",JOptionPane.PLAIN_MESSAGE);


现在,您只需要检查所寻找的字符串是否正确修剪即可,并且应该可以正常工作

09-30 14:31
查看更多