调用时更新未执行更新

时间:2015-02-11 04:23:19

标签: android sql syntax sql-update android-sqlite

我有更新语法,当我调用它时,它没有做它想做的事情。我没有得到错误它只是不更新​​表本身。我有其他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);

                          }

2 个答案:

答案 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