我有一个问题,我有一个系统来添加用户,我必须检查,如果这个用户之前存在,这样我不会再添加他,我从数据库检索所有名称到arraylist.I首先检查如果数组列表是空的,这样我可以添加用户否则,如果他的存在与否 这里是代码,他将检查插入数据库
if(names.size() == 0){
dbstatement.executeUpdate("
insert into users (user_name,user_password,user_type)
values ('" + username + "','" + userpassword + "','" + type + "')");
JOptionPane.showMessageDialog(rootPane, "user added successfully");
}
else{
for (int i = 0; i < names.size(); i++) {
if (username.equals(names.get(i))) {
JOptionPane.showMessageDialog(rootPane, "Sorry, this name already exist");
break;
}
}
dbstatement.executeUpdate
("insert into users(user_name,user_password,user_type)
values ('" + username + "','" + userpassword + "','" + type + "')");
}
的问题是,当该程序发现了一个名字存在之前,他告诉我并添加他,我知道这个问题的原因,我想知道在哪里,但如果在里面的for循环,我想他告诉我用户存在只是不要再添加它
我知道你没有指定这个,但考虑你是否需要['upsert'](http://en.wikipedia.org/wiki/Upsert)。 – onedaywhen