天天看點

Android開發之資料庫更新失敗原因分析

案例:

public void update(String name,String number,String sex){

SQLiteDatabase sqLiteDatabase=studentHelper.getWritableDatabase();

sqLiteDatabase.execSQL("update students set number =?,sex=? where name =?",new Object[]{number,name,sex});

sqLiteDatabase.close();

}

調試情況:不報錯,無任何異常,但資料沒有更新成功

原因分析:從資料庫語句開始找錯誤:

                1、資料庫更新語句正确;

                2、向上找,sqLiteDatabase.execSQL語句錯誤:new Object[]{}中添加的參數需要和資料庫語句的占位符順序一緻,占位符順序:number,sex,name,new Object[]{}中添加的參數順序:number,name,sex

正确寫法:注意順序即可

sqLiteDatabase.execSQL("update students set number =?,sex=? where name =?",new Object[]{number,sex,name});