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

最佳答案

使用equals比较String值。

关于android - 尝试扫描我的SQLite数据库。安卓系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13340958/

10-10 06:25