2013-04-23 59 views
2

道歉,我相信這已被問及很多次,但我已經搜索了一個很好的例子,並且一直未找到它。將列中的所有行更新爲新值

我想運行一個方法來將值插入到表中所有行的特定列中。爲了讓你的我的工作方法和查詢的想法,這是我的學生我的表工作更新方法:

public void updateStudent(long id,String name, String age, String points, 
     String teachernote,byte[] blob) { 
    ContentValues cv = new ContentValues(); 
    cv.put(Students.STUDENT_NAME, name); 
    cv.put(Students.STUDENT_AGE, age); 
    cv.put(Students.STUDENT_POINTS, points); 
    cv.put(Students.TEACHERNOTE, teachernote); 
    cv.put(Students.IMAGE,blob); 

    db = sqlHp.getWritableDatabase(); 
    db.update(Students.TABLE, cv, Students.STUDENT_ID+"="+ id, null); 
    db.close(); 
} 

查詢之後,我更新所有行STUDENT_POINTS。任何幫助將不勝感激,謝謝。

+0

你嘗試更新它沒有where子句嗎? – Blackbelt 2013-04-23 15:37:54

+0

這不是我嘗試使用的方法 - 對不起,我應該明確說明。我補充說,因爲我認爲它可以適應。您是否建議刪除「Students.STUDENT_ID +」=「+ id」並將其替換爲null? – Drakora 2013-04-23 15:40:17

+1

是的,我是。你嘗試過沒有去除它嗎? – Blackbelt 2013-04-23 15:41:38

回答

5

如果要更新所有行,您必須刪除where子句。在你的例子中,你應該刪除Students.STUDENT_ID+"="+ id,從db.update(Students.TABLE, cv, Students.STUDENT_ID+"="+ id, null);