【发布时间】:2013-08-14 13:44:08
【问题描述】:
我在 Flash Builder for iOS 平台中制作了一个应用程序
我已经编译了一个版本并将其安装在我的 iPhone 上,该应用程序与数据库通信,但它不会在数据库中写入/更新。可能是什么问题?设备权限还是数据库路径?
现在谢谢。
代码:
private var dbFile : File;
private var dbPath : String = "SAG.sqlite"; //name of database
private function setaAPP():void{
if(app == 'ANDROID'){
dbFile = new File('/mnt/sdcard/SAG/' + dbPath); // to ANDROID
}else if(app == 'DESKTOP'){
//app == DESKTOP
dbFile = File.applicationDirectory.resolvePath(dbPath); // to DESKTOP
}else if(app == 'DEBUG'){
//only to debug in Android
dbFile = File.applicationDirectory.resolvePath(dbPath); // to DEBUG in device
}else if(app == 'IOS'){
//app == IOS
dbFile = File.applicationStorageDirectory.resolvePath(dbPath); // to iOS
}
}
【问题讨论】:
-
这是您打包应用时包含的sqlite db吗?
-
是的,扩展名是.sqlite;在 Android 和桌面上运行良好,只有 iOS 我有这个问题。
-
我现在看到了,文件存在!我添加代码:if(dbFile.exists) 并且文件存在,但问题仍然存在......
-
现在我可以读取查询,但不能插入/更新/删除行...
-
正确。应用程序目录不可写。如果您希望能够写入数据库,则需要将文件移动到可写的位置。
标签: ios sqlite flash-builder database-connection