Autore Topic: sqlite cancellazione dato  (Letto 210 volte)

Offline MarcoMarco

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
sqlite cancellazione dato
« il: 30 Luglio 2016, 13:10:47 CEST »
0
Salve
Ultimamente mi stavo esercitando nella creazione e gestione di database tramite sqliteopenhelper ma essendo appunto un neofita sto avendo diversi problemi a cancellare tramite un tasto situato in una classe diversa(chiamata orologio) una riga della tabella del database

Codice (Java): [Seleziona]
Cursor crs;

        SQLiteDatabase db = getWritableDatabase();
        crs = db.query(TBL_NAME_GENNAIO, null, null, null, null, null, null, null);
        crs.moveToLast();
        String data_database=crs.getString(crs.getColumnIndex(DBHelper.FIELD_DATA_GENNAIO));



        String data=getDateCurrentTimeZone();

        if(data.equals(data_database)){
        String id=crs.getString(crs.getColumnIndex(DBHelper.ID_GENNAIO));

            delete_row(id);
      }

Il metodo delete_row è questo
Codice (Java): [Seleziona]
 public void delete_row(String id){
        SQLiteDatabase db = getWritableDatabase();
         db.delete(TBL_NAME_GENNAIO, "ID = ?", new String[] {id});
    }





Vi posto le parti piu salienti dell'errore
Codice (Java): [Seleziona]
 
Caused by: android.database.sqlite.SQLiteException: no such column: ID (code 1): , while compiling: DELETE FROM gennaio WHERE ID = ?

at com.example.marco.aaa.DBHelper.delete_row(DBHelper.java:139)
 at com.example.marco.aaa.DBHelper.salvataggio_dati_gennaio(DBHelper.java:118)
 at com.example.marco.aaa.Orologio.home(Orologio.java:69)


In caso vi possa servire vi posto i vari campi della tabella

Codice (Java): [Seleziona]
//----------------------TABELLA Gennaio-------------------------------

    public final static String TBL_NAME_GENNAIO="gennaio";
    public final static String ID_GENNAIO="_id";
    public final static String FIELD_TEMPO_GENNAIO="tempo_gennaio";
    public final static String FIELD_DATA_GENNAIO="data_gennaio";


Se avete bisogno di ulteriori informazioni cercherò di essere più chiaro possibile  :-)
Vi ringrazio in anticipo
« Ultima modifica: 30 Luglio 2016, 13:19:55 CEST da MarcoMarco »

Offline capitancooker

  • Utente junior
  • **
  • Post: 80
  • Marco
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5, Asus Zenpad S 8.0
  • Sistema operativo:
    macOS Sierra
Re:sqlite cancellazione dato
« Risposta #1 il: 30 Luglio 2016, 14:06:15 CEST »
0
Prova a sostitire
Codice (Java): [Seleziona]
db.delete(TBL_NAME_GENNAIO, "ID = ?", new String[] {id});con
Codice (Java): [Seleziona]
db.delete(TBL_NAME_GENNAIO, "_id = ?", new String[] {id});
Se ho letto bene il problema potrebbe risiedere lì.

Ciao,
Marco
Se sbaglio, correggetemi.