1

我有一个保存按钮,基本上应该在我的 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。

4

1 回答 1

4

用于equals比较String值。

于 2012-11-12T09:18:49.433 回答