【问题标题】:Update is not doing update when is called调用时更新不更新
【发布时间】:2015-04-11 08:46:01
【问题描述】:

我有一个更新语法,当我调用它时,它并没有做它应该做的事情。我没有收到错误,它只是不更新​​表本身。我有其他的 SQL 语法,我称之为插入、选择和删除,并且所有的都在工作。我使用类似的格式。我不确定 update 与其他语法相比是否有不同的方式。我一直喜欢将 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);

                          }

【问题讨论】:

  • Update is not doing update when is called: 出现任何错误?
  • 你真的有满足你的WHERE子句的记录吗?
  • 是的,我愿意。我还可以在模拟器中看到数据库。我可以插入但不能更新。不知道为什么。

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


【解决方案1】:

//这里是一些简单的更新示例代码

//先声明这个

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;

【讨论】:

    【解决方案2】:

    我认为您在查询末尾用“'1'”做错了 它应该是 1。 无论如何,我还没有尝试过这么多的查询语句,因为 android 有预定义的方法来做到这一点。看看这个enter link description here

    【讨论】:

      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2021-07-01
      • 1970-01-01
      相关资源
      最近更新 更多