2015-10-10 54 views
0
public long createCountry(String code, String name, String continent, 
    String region) { 

    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_PRODUCT_TYPE, code); 
    initialValues.put(KEY_PRODUCT_NAME, name); 
    initialValues.put(KEY_PRODUCT_QUANTITY, continent); 
    initialValues.put(KEY_PRODCUT_COST, region); 

    return mDb.insertWithOnConflict(SQLITE_TABLE, null, initialValues, SQLiteDatabase.CONFLICT_REPLACE); 

    } 

這是插入或更新的功能,但其採取的新行更新表上的名稱值的基礎,如果名字X是alredy存在於錶行,我想它應該更新就像假設我們有3名稱列值現在有X,Y,Z的條目假設我想再次調用這個名稱爲X的函數,然後是值的其餘部分如果更新不是它的應該創建另一個列請幫助我在哪裏做錯了。如何插入或SQLite中的Android

回答

0

沒有更新或插入功能。 您必須手動執行此操作:

public void createCountry(String code, String name, String continent, String region) { 
    ContentValues values = new ContentValues(); 
    values.put(KEY_PRODUCT_TYPE, code); 
    values.put(KEY_PRODUCT_QUANTITY, continent); 
    values.put(KEY_PRODCUT_COST, region); 
    int updated = mDb.update(SQLITE_TABLE, values, 
        KEY_PRODUCT_NAME + " = ?", 
        new String[]{ name }); 
    if (updated == 0) { 
     values.put(KEY_PRODUCT_NAME, name); 
     mDb.insert(SQLITE_TABLE, null, values); 
    } 
}