【问题标题】:how to update sqlite db in Android?如何在 Android 中更新 sqlite db?
【发布时间】:2015-08-03 11:47:42
【问题描述】:

我想根据多行值更新一行,运行应用程序后出现错误,例如 = ( FATAL EXCEPTION: main android.database.sqlite.SQLiteException: near "=": syntax error (code 1): , while compile: UPDATE Tablename SET sFollowed=?,Code=?,Name=? WHERE Vessel_Name= )

这是我在 MyDbhelper 类中的更新方法

public boolean update_isFollowed(String strVesselName , String strVesselNotationNumber, String strIsFollowed) {
        SQLiteDatabase db1 = getReadableDatabase();

        ContentValues values=new ContentValues();
        values.put(COL_VesselName,strVesselName );
        values.put(COL_ClassCodeNumber , strVesselNotationNumber);
        values.put(COL_IsFollowedVessels, strIsFollowed);

       int id=db1.update(Table_VesselList,values,COL_ClassCodeNumber + "=" +strVesselNotationNumber +" and "+ COL_VesselName +"="+strVesselName,null);

        return id > 0;
    }

【问题讨论】:

  • 检查 strVesselName 是否为空。

标签: android sqlite


【解决方案1】:

做这样的事情

在你的活动中

private UpdateDataInDB mUpdateDataInDb;
mUpdateDataInDb = new UpdateDataInDB(activity);

// call the update method with updated strings
mUpdateDataInDb.updateCommentDetails(_name, heading, comment);

在数据库类中

public void updateCommentDetails(String name, String updatedHeading,
        String updatedComment) {
    // TODO Auto-generated method stub
    mDatabase = mDatabase_handler.getReadableDatabase();
    ContentValues args = new ContentValues();
    args.put("Heading", updatedHeading);
    args.put("Comment", updatedComment);
    mDatabase.update("AddCommentTable", args,"Name" + "= ?", new String[]{ name });
    args.clear();
}

【讨论】:

    【解决方案2】:

    使用正确的 where 条件字符串,将值作为参数。喜欢:

    String where = COL_ClassCodeNumber+"=? AND "+COL_VesselName="?";
    String[] whereArgs = new String[] {String.valueOf(strVesselNotationNumber),
                                       String.valueOf(strVesselName)};
    int id=db1.update(Table_VesselList,values,where,whereArgs);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-06
      • 2011-02-15
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多