2011-11-14 64 views
4

在我的應用程序中,我需要添加和編輯數據到SQLite數據庫。當我更新數據功能的應用程序不要給任何錯誤,但我的數據庫不會更新。這是我的更新功能。我在網上搜索了兩天,但無法做到這一點。請幫幫我。Android SQLite中的更新函數不起作用

public long updateEvent(String id, String title, String description, String reminder, String alarm, Date date) { 

    try { 
     int rowid = Integer.parseInt(id); 
     Log.i("com.eventmanager", "insert Event"); 
     formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     String datestring = formatter.format(date); 

     ContentValues cv = new ContentValues(); 
     cv.put(KEY_TITLE, title); 
     cv.put(KEY_DESCRIPTION, description); 
     cv.put(KEY_REMINDER, reminder); 
     cv.put(KEY_ALARM, alarm); 
     cv.put(KEY_DATE, datestring); 
     myDB.beginTransaction(); 

     Log.i("com.eventmanager","SQL UPDATE "); 

     myDB.update(DATABASE_TABLE, cv, KEY_ROWID + "=" + rowid, null); 
     myDB.setTransactionSuccessful(); 

     myDB.endTransaction(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return 1; 
} 

在此先感謝!

+2

只是'長I = myDB.update(DATABASE_TABLE,CV,KEY_ROWID + 「=」 + ROWID,NULL);'和打印'i'值在控制檯中。檢查並讓我們知道我實際上打印了什麼? –

+0

它給出0;我的代碼中是否有任何錯誤。我找不到它。 – Chrishan

+0

也許你的交易造成了這種情況,嘗試沒有它們! – Carnal

回答

0

你的函數返回1;那也不行......它應該返回ContentValues CV

return db.update(DATABASE_TABLE, cv, KEY_ROWID+"="+rowId, null)