案例:
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});