2016-10-17 2 views
-2

Meine SQLite Update-Abfrage nicht funktioniert, ist falsch, aber keinen Fehler zurückgibt ...Was mit meiner SQLite Update-Abfrage

public void updateData(String stickerPackTitle, String installed) { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues cv = new ContentValues(); 
     cv.put(COL_INSTALLED, installed); 
     db.update(TABLE_NAME, cv, "' " + COL_PACK_NAME + " = " + stickerPackTitle + " '", null); 
    } 
+0

warum die ' 'COL_PACK_NAME = value'' und nicht 'COL_PACK_NAME =‚value''? –

+0

Ich sehe das nicht, aber als ich das geändert habe, gibt es keine Änderungen ... Funktioniert nicht wieder. –

+0

Sie sollten die Erstellungsabfrage für die Tabelle mindestens –

Antwort

0

Unten ist die richtige Methode, um Update-Abfrage in SQLite zu verwenden. Sie sollten where-Klausel und Ihre where-Argumente in verschiedenen Parametern beibehalten. Und ja, vergessen Sie nicht, die Datenbankverbindung zu schließen.

db.update(TABLE_NAME, cv, COL_PACK_NAME + " =?", new String[] stickerPackTitle}); 
db.close(); 
1

Update Linie mit diesem ersetzen:

db.update(TABLE_NAME, cv, COL_PACK_NAME + " = '" + stickerPackTitle + "'", null); 
+0

hinzufügen Funktioniert nicht erneut, aber gibt keinen Fehler zurück –

+0

versuchen Sie Folgendes: db.execSQL ("UPDATE TABLE_NAME SET" + COL_INSTALLED + "= '" + installiert + "' WHERE" + COL_PACK_NAME + "= '" + stickerPackTitle + "'"); –

+0

'code' android.database.sqlite.SQLiteException: in der Nähe von" installed_items ": Syntaxfehler (Code 1):' code' –

0

diese Art versuchen Code:

public void update_PrimaryOffer(PrimaryOffer p) 
    { 
     // TODO Auto-generated method stub 
     ContentValues contentValues = new ContentValues(); 

     contentValues.put("businessId", p.getBusinessId()); 
     contentValues.put("primaryOfferDiscount", p.getPrimaryOfferDiscount()); 
     contentValues.put("offerImage", p.getOfferName()); 
     contentValues.put("businessType", p.getBusinessType()); 
     contentValues.put("businessName", p.getBusinessName()); 
     contentValues.put("businessInformation", p.getBusinessInformation()); 
     contentValues.put("businessImage", p.getBusinessImage()); 
     contentValues.put("offerName", p.getOfferName()); 
     contentValues.put("offerAddress", p.getOfferAddress()); 
     contentValues.put("phoneNumber", p.getPhoneNumber()); 
     contentValues.put("originalPrice", p.getOriginalPrice()); 
     contentValues.put("expiryDate", p.getExpiryDate()); 
     contentValues.put("latitude", p.getLatitude()); 
     contentValues.put("longitude", p.getLongitude()); 
     contentValues.put("likeStatus", p.getLikeStatus()); 
     contentValues.put("favoriteStatus", p.getFavoriteStatus()); 
     contentValues.put("likeCount", p.getLikeCount()); 
//  contentValues.put("DateTime", p.getDateTime()); 


     Cursor cursor = sqLiteDatabase.rawQuery("select * from "+TABLE_RECENT_PRIMARY_OFFER+";", null); 

     if (cursor.moveToFirst()) { 
      do { 
       int ii = sqLiteDatabase.update(TABLE_RECENT_PRIMARY_OFFER, contentValues, "businessId="+ p.getBusinessId(),null); 
       System.out.println("SQLITE UPDATE SCHEDULER---->" + ii); 
      }while(cursor.moveToNext()); 

     } 
     cursor.close(); 


    }