如果将值插入到android中的sqlite中的表中,则返回true

时间:2016-06-29 06:57:26

标签: android database sqlite

如何检查是否将值插入sqlite数据库。以下是我的代码。

   public Boolean addToWishList(ShopingCartModel shopingCartModel) {

        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_PRODUCT_ID,shopingCartModel.getId());
        values.put(KEY_TITLE, shopingCartModel.getCart_title());
        values.put(KEY_DESC, shopingCartModel.getCart_desc());
        // Inserting Row
        db.insert(TABLE_WISHLIST, null, values);
        db.close(); // Closing database connection

        return true // if value inserted
    }

我想检查这样的事情,如果插入数据返回true,否则返回false。

if (db.addToWishList(shopingCartModel)) {
                    wishlist.setTag("selected");
                    wishlist.setImageResource(R.drawable.ic_favorite_blue_24dp);
                    Toast.makeText(getApplicationContext(), "Added to wishlist", Toast.LENGTH_SHORT).show();
                }

2 个答案:

答案 0 :(得分:1)

试试这个:

 public Boolean addToWishList(ShopingCartModel shopingCartModel) {
 SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_PRODUCT_ID,shopingCartModel.getId());
    values.put(KEY_TITLE, shopingCartModel.getCart_title());
    values.put(KEY_DESC, shopingCartModel.getCart_desc());
    // Inserting Row
   int count = db.insert(TABLE_WISHLIST, null, values);
    db.close(); // Closing database connection


    return if(count > 0) // if value inserted
   }

答案 1 :(得分:1)

您的答案在您的代码中。

如果插入成功,方法db.insert将返回值。否则,它将返回-1

所以你的代码应该是。

if (db.insert(.......) == -1)
   //error handling.
else
   // your code