我无法删除sms.db上的记录

时间:2012-05-20 09:38:24

标签: iphone objective-c database jailbreak

我可以从我的应用程序访问sms.db(我的应用程序安装在'/ Applications'文件夹中,权限为777)我可以在sms.db上选择 但我无法更新或删除sms.db上的任何记录。 我甚至使用了这个在模拟器上工作的代码,但它在真正的iPhone上不起作用。

drop trigger insert_unread_message; 
drop trigger mark_message_unread;
drop trigger mark_message_read; 
drop trigger delete_message;

CREATE TRIGGER insert_unread_message 
    AFTER INSERT ON message 
    WHEN NOT new.flags = 2 
BEGIN 
    UPDATE msg_group 
       SET unread_count = (SELECT unread_count 
                           FROM msg_group 
                           WHERE ROWID = new.group_id) + 1 
    WHERE ROWID = new.group_id; 
END; 

CREATE TRIGGER mark_message_unread 
    AFTER UPDATE ON message 
    WHEN old.flags = 2 AND NOT new.flags = 2 
BEGIN
    UPDATE msg_group 
        SET unread_count = (SELECT unread_count 
                            FROM msg_group 
                            WHERE ROWID = new.group_id) + 1 
    WHERE ROWID = new.group_id;
END;

CREATE TRIGGER mark_message_read 
    AFTER UPDATE ON message 
    WHEN NOT old.flags = 2 AND new.flags = 2 
BEGIN 
    UPDATE msg_group 
        SET unread_count = (SELECT unread_count 
                            FROM msg_group 
                            WHERE ROWID = new.group_id) - 1 
    WHERE ROWID = new.group_id; 
END; 

CREATE TRIGGER delete_message 
    AFTER DELETE ON message 
    WHEN NOT old.flags = 2 
BEGIN
    UPDATE msg_group 
        SET unread_count = (SELECT unread_count 
                            FROM msg_group 
                            WHERE ROWID = old.group_id) - 1 
    WHERE ROWID = old.group_id;
END;

我的应用程序在模拟器中正常工作意味着我可以选择或删除或更新记录 但在真正的Iphone上,我只能在sms.db上选择。

我很乐意从任何知道此问题解决方案的人那里获得帮助。

0 个答案:

没有答案