我有一个flex应用程序。 我的问题是当我在iphone上运行查询更新时,控制台返回:
Attempt to write a readonly database.
答案 0 :(得分:1)
基本上声称:
iOS上的
您的应用程序目录是“只读”(至少在使用本机应用程序时) - 所以应用程序目录中的资源(在 Air SDK的术语 - 不是iOS SDK)不可以 改性/写入/更新
您可以将已创建的sqlite数据库文件与您的应用程序一起发送,但应将其复制到应用程序可写 目录 - 例如到文件。该目录可通过以下方式访问:
File.documentsDirectory
因此,当您的应用程序启动时,您可以执行以下操作:
1)构建文档目录数据库路径的路径
2)检查该路径中的数据库是否存在(如果文件存在)
3)如果文件不存在,则将其复制到该路径中 应用程序资源目录(在构建时将其捆绑在一起) 项目)或使用所有这些CREATE表创建新的空数据库 然后INSERT语句创建新的数据库副本
4)如果检查#2跳过数据库中是否存在文件,则每次下次启动时都是如此 创建/复制,然后开始使用它。