0

私は自分のAndroidアプリケーションでデータベースを維持するためにsqliteを使用しています。他の操作は正常に機能していますが、Update Operationは機能していません。これはコードです:

public int updateContact(Contact contact,String Type) 
    {
        int a = 0;
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();

        values.put(KEY_NAME, contact.getName());
        values.put(KEY_PH_NO, contact.getPhoneNumber());
        values.put(KEY_TIME, contact.getTime());
        values.put(KEY_ID , contact.getID());

        if(Type == "name")
        {
            a = db.update(TABLE_CONTACTS, values, KEY_NAME + " = ?",
                    new String[] { String.valueOf(contact.getName()) });
        }

        else if(Type == "id")
            // updating row
            a =  db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
                    new String[] { String.valueOf(contact.getID()) });

        else if(Type == "number")
            // updating row
            a= db.update(TABLE_CONTACTS, values, KEY_PH_NO + " = ?",
                    new String[] { String.valueOf(contact.getPhoneNumber()) });

        else if(Type == "time")
            a= db.update(TABLE_CONTACTS, values, KEY_TIME + " = ?",
                    new String[] { String.valueOf(contact.getTime())}); 

        return a;
    }

私を助けてください。

4

2 に答える 2

2

String比較は常に.equals()代わりに使用する必要があります==

if(Type == "name")
......
else if(Type == "number")

に変更する必要があります

    if("name".equals(Type))
  ......
   else if("number".equals(Type))
于 2012-10-16T15:24:27.667 に答える
1

このように使用してみませんか:

 if(Type == "name")
    {
        a = db.update(TABLE_CONTACTS, values, KEY_NAME + "=" + String.valueOf(contact.getName()),null);
    }

    else if(Type == "id")
        // updating row
        a =  db.update(TABLE_CONTACTS, values, KEY_ID + "=" + String.valueOf(contact.getID()),null);

    else if(Type == "number")
        // updating row
        a= db.update(TABLE_CONTACTS, values, KEY_PH_NO + "=" + String.valueOf(contact.getPhoneNumber()),null);

    else if(Type == "time")
        a= db.update(TABLE_CONTACTS, values, KEY_TIME + "=" + String.valueOf(contact.getTime()),null);
于 2012-10-16T15:30:29.940 に答える