界面上有一个JTextField,用来输入数据库中的一个主键字段。现在我要判断,输入的id是否在数据库中存在。我把这个字段取出来,放在了一个Vector里,要把Vector里的每个元素都与文本框里的字符串比较,但是if里面只能是booleanL类型的,用过迭代器,但是没有什么反应。一时不知道怎么处理了,大家来帮帮忙
if(tid.getText().equals("")||tname.getText().equals("")||tpass.getText().equals("")||tconfirmpass.getText().equals(""))
{
   JOptionPane.showMessageDialog(UserInsertPanel.this, "请输入完整信息!");
}
else if(???)
{

  JOptionPane.showMessageDialog(UserInsertPanel.this, "此编号的用户已存在,请重新填写");
}

解决方案 »

  1.   

    楼主的设计好好像有点问题,直接把id字段设置为unique再根据异常信息给出该用户已经存在不好吗?//LZ的思路大概可以这样写
    else if(tid.getText() != null && !(tid.getText().trim().equals(""))) {
       int id = Integer.parseInt(tid.getText());
       //可以在下面做比较,里面还可以有if...else啊,如果已经有了怎么样,没有的话又如何
    }
      

  2.   

    if(tid.getText().equals("")||tname.getText().equals("")||tpass.getText().equals("")||tconfirmpass.getText().equals("")) 

      JOptionPane.showMessageDialog(UserInsertPanel.this, "请输入完整信息!"); 

    else 

       //hasExist()是你需要写的自定义方法,传入参数为JTextField,如果存在返回true,否则返回false
      boolean hasExist = hasExist(tid.getText());//
      if(hasExist ){
          JOptionPane.showMessageDialog(UserInsertPanel.this, "此编号的用户已存在,请重新填写"); 
      }
    }
    或者
    else 

     ----迭代vector,如果存在与当前相同的JTextField,则执行下边一句代码
     JOptionPane.showMessageDialog(UserInsertPanel.this, "此编号的用户已存在,请重新填写"); 
    }
      

  3.   

    else if(Vector.contains(key))
    {//此编号的用户已存在
      .....
    }
    else
    {
      //注册
    }
      

  4.   

    用contains,contains是用来对比数据里面的某个值是否已经存在或者匹配某个值的呵呵