2017-12-29 17 views
-1

Ich versuche, eine Tabelle in SQLite Android zu aktualisieren. Ich habe eine Spalte namens "Menge", die Menge von einigen Artikeln speichert, sagen Sie item1, item2 ...
Jetzt, wenn ich item1 kaufe, möchte ich definitiv die gekaufte Menge zu einer vorhandenen Menge von item1 hinzufügen.
Ich suchte im Internet, konnte aber keine Lösung finden und fragte daher.Wie aktualisiert man einen Wert in einer Spalte mit einem vorhandenen Wert in SQLite?

Mein einfacher Code ist unten:

// This method is used to 'UPDATE' the table 'stock'. 
    // This method will be used by two fragments, 
    // 'sale' and 'purchase' fragments. 
    public int updateData(String cigaretteName,int quantity, int cost, int totalCost) { 
     // Accessing the database with writable functionality so it can be updated. 
     SQLiteDatabase db = this.getWritableDatabase(); 

     // Creating content values object to put the new values in existing rows with old values. 
     ContentValues contentValues = new ContentValues(); 
     contentValues.put(StockEntry.COLUMN_QUANTITY, (StockEntry.COLUMN_QUANTITY + quantity)); 
     contentValues.put(StockEntry.COLUMN_COST, cost); 
     contentValues.put(StockEntry.COLUMN_TOTAL_COST, totalCost); 

     // Which row to update, based on the cigarette name. 
     String selection = StockEntry.COLUMN_CIGARETTES_NAME + " LIKE ?"; 
     String[] selectionArgs = {cigaretteName}; 

     // Updating the table with the new values and then returning the number of rows affected. 
     return db.update(StockEntry.TABLE_NAME, contentValues, selection, selectionArgs); 
    } 

Dies ist gar nicht funktioniert, jetzt ist es nicht einmal die Spalte/Zeile zu aktualisieren.

contentValues.put(StockEntry.COLUMN_QUANTITY, (StockEntry.COLUMN_QUANTITY + quantity)); 

Tun Sie Hilfe Jungs!

Antwort

0

Ich würde einen einfachen Ansatz vorschlagen, um diese Art von SQLite-Problemen zu überwinden.

  1. Verwenden SQLite-Manager das Plugin für FireFox-Browser ist
  2. Herunterladen von https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/
  3. Erstellen Sie Ihre Dummy-Datenbank gibt
  4. Führen Sie Ihre CRUD-Operationen hier
  5. Sobald alles funktioniert gut in SQLite-Manager dann verwenden Sie die gleiche Abfrage in Ihrem Projekt.

Oben genannten Weg sparen Sie Ihre Entwicklungszeit sowie Tests.

+0

Dank @Nikhil Lotke, werde ich definitiv versuchen, da ich eine App erstellen, die vollständig auf Datenbank basiert. –

+0

Ich habe getan, was Sie vorgeschlagen und Update-Anweisung in Sqlite Manager ausgeführt n alles funktioniert gut. Aber ich weiß nicht, was in Java passiert ist. Hast du eine Lösung ????? –

+0

OK, können Sie mir zeigen, wie Sie in Ihrem Code Abfrage hinzugefügt? –

Verwandte Themen