我有更新语法,当我调用它时,它没有做它想做的事情。我没有得到错误它只是不更新表本身。我有其他SQL语法,我称之为插入,选择和删除,所有这些都在工作。我使用类似的格式。我不确定更新是否与其他语法相比有不同的方式。我一直喜欢SQL语法存储在String变量中的方式,因为它让我了解在执行此类语法时它在数据库中的外观。有人可以帮帮我吗?
//UPDATE new SETTING into duel setting Table using sql statement
public void addnewsettingDUELSETTING(){
String SQLADD2DUELSETTING = "UPDATE " +YAOMySQLiteHelper.TABLE_DUEL_SETTING +
" SET " + YAOMySQLiteHelper.COLUMNds_ID + " = '" + "1" + "' ,"+
YAOMySQLiteHelper.COLUMNds_ME + " = '"+ DuelSettingMenu.xsp1 + "' , " +
YAOMySQLiteHelper.COLUMNds_OPPONENT + " = '"+ DuelSettingMenu.xsp2 + "' , " +
YAOMySQLiteHelper.COLUMNds_LIFE_POINT + " = '"+ DuelSettingMenu.xsp3 + "' , " +
YAOMySQLiteHelper.COLUMNds_GAME_TIMER + " = '"+ DuelSettingMenu.xsp4 + "' , " +
YAOMySQLiteHelper.COLUMNds_CALCULATOR_LAYOUT + " = '"+ DuelSettingMenu.xsp5 + "'" +
" WHERE " +YAOMySQLiteHelper.COLUMNds_ID + " = " + "'1'" ;
database.execSQL(SQLADD2DUELSETTING);
}
答案 0 :(得分:2)
//这是一些简单的更新示例代码
//首先声明这个
private DatabaseAppHelper dbhelper;
private SQLiteDatabase db;
//初始化以下
dbhelper=new DatabaseAppHelper(this);
db=dbhelper.getWritableDatabase();
//更新代码
ContentValues values= new ContentValues();
values.put(DatabaseAppHelper.KEY_PEDNAME, ped_name);
values.put(DatabaseAppHelper.KEY_PEDPHONE, ped_phone);
values.put(DatabaseAppHelper.KEY_PEDLOCATION, ped_location);
values.put(DatabaseAppHelper.KEY_PEDEMAIL, ped_emailid);
db.update(DatabaseAppHelper.TABLE_NAME, values, DatabaseAppHelper.KEY_ID + "=" + msysprefs.getid(), null);
// put ur id而不是msysprefs.getid()。msysprefs.getid()是我共享偏好中的一个函数。
我认为你的错误是你写的是“1”而不是1.我认为它会是 “WHERE”+ YAOMySQLiteHelper.COLUMNds_ID +“=”+ 1;
答案 1 :(得分:0)
我认为你在查询结尾时做错了“'1'” 它应该是1。 无论如何,我没有尝试过如此多的查询语句,因为android有预定义的方法来做到这一点。看一下这个enter link description here