String new_recorded_lastname="a lastname";
////record to database......
Cursor cursor = db.rawQuery("SELECT lastname FROM people; ",null);
if (cursor != null){
while(cursor.moveToNext()){
String recorded_lastname=cursor.getString(cursor.getColumnIndex("lastname"));
if(!(recorded_lastname.equals(new_recorded_lastname))){
//add new_recorded_lastname to database
break;
}
}
}
我只想在我的数据库中出现一次姓氏。
即使我检查“if(!(recorded_lastname.equals(new_recorded_lastname)))”这行代码,它也会一次又一次地添加相同的记录。如何控制姓氏仅添加一次?
//它对于第一条记录非常有效,但是从第二条记录开始,它一次又一次地添加一些姓氏......
在我看来,您正在检查数据库中的每条记录,一旦发现不包含给定姓氏的记录,您就会将该记录添加到数据库中。您应该累积检查结果,如下所示:
boolean lastnamePresent = false;
while(cursor.moveToNext()){
String recorded_lastname=cursor.getString(cursor.getColumnIndex("lastname"));
if(recorded_lastname.equals(new_recorded_lastname)){
lastnamePresent = true;
break;
}
}
if(!lastnamePresent)
// add new_record_lastname to database
不过如果你使用 SQLite 工具来处理这类事情肯定会更好。就像将列设置为UNIQUE
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)