2016-05-05 5 views
0

Ich habe ein großes Problem. Diese ist der 1. Methode updateIncomeNoteChangeDay()Gleicher Code funktioniert aber nicht Android (Cursor, Update-Datenbank)

res1.moveToFirst(); 
while (res1.isAfterLast() == false){ 
    if(res1.getString(1).equals(Date_OldNote) == true){ 
     moneyIncomeDaily = Integer.parseInt(res1.getString(3)); 
     moneyIncomeDaily = moneyIncomeDaily - Integer.parseInt(Money_OldNote); 
     long updateTableDailyIncome = db.updateTableDailyIncomeStatistic(res1.getString(1), Integer.toString(moneyIncomeDaily), Integer.parseInt(idUser), Integer.parseInt(res1.getString(0))); 
    } 
    res1.moveToNext(); 
} 

res1.moveToFirst(); 
while (res1.isAfterLast() == false){ 
    if (res1.getString(1).equals(Date_Note)==true){ 
     moneyIncomeDaily = Integer.parseInt(res1.getString(3)); 
     moneyIncomeDaily = moneyIncomeDaily + Integer.parseInt(Money_Note); 
     long updateTableDailyIncome = db.updateTableDailyIncomeStatistic(res1.getString(1), Integer.toString(moneyIncomeDaily), Integer.parseInt(idUser), Integer.parseInt(res1.getString(0))); 
     tempIncomeDailyNewNote = tempIncomeDailyNewNote + 1; 
    } 
    res1.moveToNext(); 
} 

res1.close(); 

Dies ist 2. Methode updatePayNoteChangeDay()

res2.moveToFirst(); 
while (res2.isAfterLast() == false){ 
    if(res2.getString(1).equals(Date_OldNote) == true){ 
     moneyPayDaily = Integer.parseInt(res2.getString(3)); 
     moneyPayDaily = moneyPayDaily - Integer.parseInt(Money_OldNote); 
     long updateTableDailyPay = db.updateTableDailyPayStatistic(res2.getString(1), Integer.toString(moneyPayDaily), Integer.parseInt(idUser), Integer.parseInt(res2.getString(0))); 
    } 
    res2.moveToNext(); 
} 

res2.moveToFirst(); 
while (res2.isAfterLast() == false){ 
    if (res2.getString(1).equals(Date_Note)==true){ 
     moneyPayDaily = Integer.parseInt(res2.getString(3)); 
     moneyPayDaily = moneyPayDaily + Integer.parseInt(Money_Note); 
     long updateTableDailyPay = db.updateTableDailyPayStatistic(res2.getString(1), Integer.toString(moneyPayDaily), Integer.parseInt(idUser), Integer.parseInt(res2.getString(0))); 
     tempPayDailyNewNote = tempPayDailyNewNote + 1; 
    } 
    res2.moveToNext(); 
} 

res2.close(); 

Und hier ist meine if - else

if (Type_Note.equals(Type_OldNote)==true&&Type_Note.equals("Thu")&&Date_Note.equals(Date_OldNote) == true){ 
    updateIncomeNoteJustChangeMoney(Date_Note, Money_Note, idUser, idNote, Date_OldNote, Money_OldNote); 
}else if (Type_Note.equals(Type_OldNote)==true&&Type_Note.equals("Thu")&&Date_Note.equals(Date_OldNote) == false){ 
    updateIncomeNoteChangeDay(Date_Note, Money_Note, idUser, idNote, Date_OldNote, Money_OldNote); 
}else if (Type_Note.equals(Type_OldNote)==true&&Type_Note.equals("Chi")&&Date_Note.equals(Date_OldNote) == true){ 
    updatePayNoteJustChangeMoney(Date_Note, Money_Note, idUser, idNote, Date_OldNote, Money_OldNote); 
}else if (Type_Note.equals(Type_OldNote)==true&&Type_Note.equals("Chi")&&Date_Note.equals(Date_OldNote) == false){ 
    updatePayNoteChangeDay(Date_Note, Money_Note, idUser, idNote, Date_OldNote, Money_OldNote); 
} 

Hier ist die Liste Cursor

Cursor res1 = db.getDataTableDailyIncomeStatistic(Integer.parseInt(idUser)); 
Cursor res2 = db.getDataTableDailyPayStatistic(Integer.parseInt(idUser)); 

Ich habe es oft überprüft. Sie sind wie einander. Aber ich verstehe nicht, warum diese Methode updateIncomeNoteChangeDay() perfekt funktioniert. Aber die Methode updatePayNoteChangeDay() funktioniert überhaupt nicht.

+0

Bitte sagen Sie uns, was falsch ist;) "Es funktioniert nicht" ist zu breit :) – mithrop

+0

2. Methode updatePayNoteChangeDay() funktioniert nicht. Ich weiß nicht, was falsch ist. Sieh mein Wenn - sonst. Es ist nur anders ** Type_Note.equals ("Do") ** und ** Type_Note.equals ("Chi") **. Aber ** Type_Note.equals ("Do") ** funktionieren und ** Type_Note.equals ("Chi") ** funktioniert nicht –

+0

immer noch nicht verständlich ... niemand kann erraten, wie es funktionieren sollte und was eigentlich falsch ist. "Weiß nicht, was falsch ist" ... Wenn Sie nicht einmal wissen, was Sie wirklich wollen, können wir Ihnen nicht helfen;) – mithrop

Antwort

1

Stürzt es ab? Was funktioniert nicht? Wenn Sie die gleiche Datenbank für Aktionen benötigen, tun Sie es falsch. Von dem, was ich updateIncomeNoteChangeDay und updatePayNoteChangeDay sehen kann, haben beide eine Struktur, der einfache Weg besteht darin, eine Instanz der DB zu erstellen und dann zwei separate Methoden zu erstellen.

+0

Methode "updatePayNoteChangeDay" Funktioniert nicht Es stürzt nicht ab. Ich will Geld in res1 aktualisieren, wenn ich Datum ändere, und ich will Geld in res2 aktualisieren, wenn ich Datum ändere. Wenn ich Datum in meiner App mit TypeNote = "Thu" ändere, Methode "updateIncomeNoteChangeDay" Arbeit perfekt, aber wenn ich Datum in meiner App mit TypeNote = "Chi" ändere. Nichts wird aktualisiert. :( –

Verwandte Themen