删除解析表中的一行 [英] Delete a row from Parse Table

查看:206
本文介绍了删除解析表中的一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表称为收藏标签。它有田 - 标签,用户(指针 - respectiv用户OBJECTID)。凡用户可以存储标记,并随着用户OBJECTID为指针用户归档和用户钟爱的删除标记

有关存储/更新:它工作正常。

 的parseObject favtagobject =新的parseObject(最爱);
            favtagobject.put(变量,#+关键字);
                favtagobject.put(用户,ParseUser.getCurrentUser());
                favtagobject.saveInBackground();

有关删除/从表中删除标签:低于code不能正常工作

 的parseObject favtagobject =新的parseObject(最爱);
             favtagobject.put(变量,#+关键字);
                favtagobject.put(用户,ParseUser.getCurrentUser());
                favtagobject.deleteInBackground(新DeleteCallback(){                    @覆盖
                    公共无效完成(com.parse.ParseException为arg0){
                        // TODO自动生成方法存根
                        的System.out.println(删除成功标记);
                    }
                });

我想删除表我知道哪一行要被删除的行。请帮助我。


解决方案

基本上,当您使用新的parseObject(最爱);这将构建一个新的parseObject。直到调用.save()上的任何变体本的parseObject不存在于数据库中。因此,当你做到这一点。

 的parseObject favtagobject =新的parseObject(最爱);
         favtagobject.put(变量,#+关键字);
            favtagobject.put(用户,ParseUser.getCurrentUser());
            favtagobject.deleteInBackground(新DeleteCallback(){                @覆盖
                公共无效完成(com.parse.ParseException为arg0){
                    // TODO自动生成方法存根
                    的System.out.println(删除成功标记);
                }
            });

所有你正在做的是创造一个新的对象,不存在于数据库中,然后尝试将其删除?什么你要找的就是这个。

  ParseQuery<&的parseObject GT;查询= ParseQuery.getQuery(最爱);
    query.whereEqualTo(变量,#+关键字);
    query.whereEqualTo(用户,ParseUser.getCurrentUser());
    query.getFirstInBackground(新FindCallBack(){            @覆盖
            公共无效做过(的parseObject对象,com.parse.ParseException为arg0){
               // TODO自动生成方法存根
                   object.delete();
                   object.saveInBackground();
            }
        }));

这将首先从数据库中获取对象,然后删除表中的行并保存到对象所做的更改!

I have a table called Favourite tags. it has fields - Tag, User( Pointer- respectiv user objectid).where User can store a tag and along with user-objectid as pointer in user filed and user remove the tag from favourite

For Storing/Updating: it is working fine .

           ParseObject favtagobject = new ParseObject("Favourite");
            favtagobject.put("Tag", "#" + keyword);
                favtagobject.put("User", ParseUser.getCurrentUser());
                favtagobject.saveInBackground();

For removing/deleting the tag from table: Below code is not working

           ParseObject favtagobject = new ParseObject("Favourite");
             favtagobject.put("Tag", "#" + keyword);
                favtagobject.put("User", ParseUser.getCurrentUser());
                favtagobject.deleteInBackground(new DeleteCallback() {

                    @Override
                    public void done(com.parse.ParseException arg0) {
                        // TODO Auto-generated method stub
                        System.out.println("deleted the tag succesfully");
                    }
                });

i want to delete a row from table i know which row to be deleted. Please help me out.

解决方案

Basically, when you use 'new ParseObject("Favourite");' it will construct a new ParseObject. This parseObject does not exist in your database until you call any variant of .save() on it. Hence when you do this

    ParseObject favtagobject = new ParseObject("Favourite");
         favtagobject.put("Tag", "#" + keyword);
            favtagobject.put("User", ParseUser.getCurrentUser());
            favtagobject.deleteInBackground(new DeleteCallback() {

                @Override
                public void done(com.parse.ParseException arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("deleted the tag succesfully");
                }
            });

All you're doing is creating a new object, that does not exist in your database and then try to delete it? What you're looking for is this

    ParseQuery<ParseObject> query = ParseQuery.getQuery("Favourite");
    query.whereEqualTo("Tag", "#" + keyword);
    query.whereEqualTo("User", ParseUser.getCurrentUser());
    query.getFirstInBackground(new FindCallBack() {

            @Override
            public void done(ParseObject object, com.parse.ParseException arg0) {
               // TODO Auto-generated method stub
                   object.delete();
                   object.saveInBackground();
            }
        }););

This will first get the object from your database and then delete the row from table and save the changes made to the object!

这篇关于删除解析表中的一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆