Autore Topic: problema update sqlite  (Letto 566 volte)

Offline marcocampoli

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.4
problema update sqlite
« il: 07 Settembre 2012, 19:00:45 CEST »
0
Salve a tutti...
Ho creato una lista di informazioni (titolo e testo), organizzate in due activity diverse, e salvate in sqlite...
Do la possibilità di modificare titolo e testo da queste due activity (usando sempre una terza activity di modifica informazioni)...
Il mio problema è che la modifica  funziona se richimata dalla prima activity, mentre nn fa nulla nella seconda...
Ho provato a vedere se l'id della tupla viene passato in questa activity e tutto è ok... ma quando devo aggiornare questi dati nn succede nulla.... Vi prego, non riesco a capire il perchè, qualcuno può darmi una mano??

Grazie a tutti per l'attenzione...

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:problema update sqlite
« Risposta #1 il: 07 Settembre 2012, 19:19:14 CEST »
+1
senza codice, log e info la vedo alquanto dura...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline marcocampoli

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.4
Re:problema update sqlite
« Risposta #2 il: 07 Settembre 2012, 22:09:50 CEST »
0
bhè non hai tutti i torti... siccome la logica che ho implementato funziona, non so che fare! :-) (grazie della disponibilità prima di tutto)

Questo è il codice che effettua l'update (tramite una classe che gestisce titolo e testo):

Codice (Java): [Seleziona]
        public int Update(EMemo EM)
        {
           SQLiteDatabase db= this.getWritableDatabase();
           ContentValues cv= new ContentValues();
           
           cv.put(ordinamemo, EM.getOrdina());
           cv.put(titolomemo, EM.getTitolo());
           cv.put(testomemo, EM.getTesto());       
           
           int r= db.update(tabmemo, cv, memoid + "=" + EM.getID(), null);  
           db.close();
           
           return r;
        }


Questo è il codice che richiama l'update (se provo a printare i valori essi compaiono regolarmente)... Questa è l'activity di ricerca per intenderci;

Codice (Java): [Seleziona]
        private View.OnClickListener update= new View.OnClickListener() {
                public void onClick(View v) {
                       
                        if(ETTesto.getText().toString() != null && ETTitolo.getText().toString() != null){
                                EMemo.setTesto(ETTesto.getText().toString());
                                EMemo.setTitolo(ETTitolo.getText().toString());                        
                                DBH.UpdateMemo(EMemo);
                               
                                setResult(RESULT_OK);
                                finish();
                        }
                        else
                                VVMEmo.makeToast(R.string.memo_mod_imp, Toast.LENGTH_LONG);
                }
        };

Mentre il codice che richiamna l'activity di modifica è (anche printando questi valori, ho i risultati sperati):

Codice (XML): [Seleziona]
    public void modifica(){
                Intent intent= new Intent(OrganizzaActivity.this, ModificaActivity.class);
                bridge.addParameter("EMemo", ALEM.get(position));
                startActivityForResult(intent, MODIFICA);    
    }


Dove bridge è usata per il pattern singletoon...

Non sapendo che pesci prendere (anche il logcat nn da problemi), non saprei che codice inserire..... se ti serve altro sono qua :-)... Grazie ancora!!!

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:problema update sqlite
« Risposta #3 il: 07 Settembre 2012, 23:07:59 CEST »
0
Il primo codice è
Codice (Java): [Seleziona]
public int Update(EMemo EM)
{
...
}

ma poi richiami dal secodno
Codice (Java): [Seleziona]
   DBH.UpdateMemo(EMemo);
è un altra funzione?

Offline marcocampoli

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.4
Re:problema update sqlite
« Risposta #4 il: 07 Settembre 2012, 23:49:14 CEST »
0
nono, scusami è quella... nn avevo messo le dichiarazioni delle funzioni, le ho messe in seguito a mano nel post....
(PS: dove ho inserito il codice ho invertito l'acitivty di modifica con quella di ricerca)
« Ultima modifica: 07 Settembre 2012, 23:56:45 CEST da marcocampoli »

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:problema update sqlite
« Risposta #5 il: 07 Settembre 2012, 23:58:23 CEST »
0
Come sono quelle..
prima richiami updatememo.. ma la funzione da richiamare non è update?

Offline marcocampoli

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.4
Re:problema update sqlite
« Risposta #6 il: 08 Settembre 2012, 09:53:15 CEST »
0
nel codice che ho inserito qui, mi ero dimenticato di scrivere l'intestazione della funzione UPDATEMEMO...... siccome l'ho scritta a mano, mi sono sbagliato ed ho scritto UPDATE invece di UPDATEMEMO.... ma la funzione è quella... ho sbagliato solo a scrivere il titolo:-)