我有一个保存按钮,基本上应该在我的 SQLite 数据库中创建一个新条目,如果还没有一个具有相同“名称和编号”的条目(两者都存储为字符串)。如果已经有一个具有相同名称和编号的条目,它应该弹出一个询问他们是否要覆盖的窗口。
实际发生的是,无论该条目是否已存在,它都会创建一个新条目。单击保存时运行的代码:
final String thename=TeamName.getText().toString()
final String thenum=TeamNum.getText().toString();
if ((thename.length()!=0) && (thenum.length()!=0)){
ScoutingFormData info1 = new ScoutingFormData(this);
info1.open();
final long returnedId=info1.scanFor(thename,thenum);
if (returnedId==-1){
info1.createEntry(thename,thenum);
}
else
{
final Dialog overw=new Dialog(this);
....//The code that goes here is unimportant to my question so I'm hiding it.
overw.show();
}
info1.close();
}
ScoutingFormData.java 中的代码:
public long scanFor(String thename, String thenum) {
String[] columns=new String[]{KEY_ROWID,KEY_NAME,KEY_NUM};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
int iID = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(KEY_NAME);
int iNum = c.getColumnIndex(KEY_NUM);
for (c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
if ((c.getString(iName)==thename) && (c.getString(iNum)==thenum)){
return Long.parseLong(c.getString(iID));
}
}
return -1;
}
如果已存在具有相同名称+编号的条目,我看不出它如何可能返回-1。