如何使用内容提供程序将整列中的值替换为同一表中其他列的值?

时间:2014-04-25 14:12:25

标签: android android-sqlite android-contentprovider

我想使用内容提供程序将整个列(比如第1列)的所有值替换为表的其他列(比如第2列)。我尝试了多个选项但无法找到正确的答案。我知道可以使用SET子句但是如何将SET子句与内容提供者一起使用? 表格如下:

String SOLUTION_CATEGORY_TABLE_CREATE = "CREATE TABLE " + Constants.DataBaseConstants.LOOK_SOLUTION_CATEGORY_TABLE+"("
                + Constants.DataBaseConstants.LOADER_ID+" NUMERIC AUTO_INCREMENT,"
                +Constants.DataBaseConstants.SOLUTION_CODE+" CHAR(15) NOT NULL,"
                +Constants.DataBaseConstants.CATEGORY_ID+" NUMERIC(6) NOT NULL,"
                +Constants.DataBaseConstants.CATEGORY_NAME+" CHAR,"
                +Constants.DataBaseConstants.DEFAULT_PRODUCTS+" CHAR,"
                +Constants.DataBaseConstants.RECOMMENDED_PRODUCTS+" CHAR,"
                +Constants.DataBaseConstants.LOCAL_DEFAULT+" CHAR,"
                +"CONSTRAINT "+ Constants.DataBaseConstants.SOL_CAT_FK1+" FOREIGN KEY("+Constants.DataBaseConstants.SOLUTION_CODE+")REFERENCES "
                    + Constants.DataBaseConstants.SOLUTION_TABLE+"("+Constants.DataBaseConstants.SOLUTION_CODE+"),"
                +"CONSTRAINT "+ Constants.DataBaseConstants.SOL_CAT_FK2+" PRIMARY KEY ("
                    +Constants.DataBaseConstants.SOLUTION_CODE+","+Constants.DataBaseConstants.CATEGORY_ID+"))";

现在我想用默认产品列替换本地默认产品。

我知道更新查询应该如下所示:

    UPDATE Constants.DataBaseConstants.LOOK_SOLUTION_CATEGORY_TABLE SET Constants.DataBaseConstants.LOCAL_DEFAULT=Constants.DataBaseConstants.DEFAULT_PRODUCTS;

但我不知道如何使用内容提供商进行相同的查询。 我应该在update方法的参数中发送什么(如下所述),以便结束查询与上面相同。

getContentResolver().update(DataProvider.CONTENT_URI_LOOK_SOLUTION_CATEGORY, values, selection, args);

提前感谢。

0 个答案:

没有答案