天天看点

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});