且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

删除解析表中的一行

更新时间:2023-02-05 13:50:08

基本上,当您使用新的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!