Flex数据库被覆盖

时间:2015-09-02 06:54:42

标签: actionscript-3 flex flash-builder

我正在维护一个使用SQLite3数据库的现有flex桌面应用程序。我是Flex编程的新手。 数据库最初有一些测试值,我通过删除导入具有相同表名的新数据的现有表来更改。 现在,一旦我运行应用程序,我仍然会看到旧数据,并且在检查数据库表时,在那里找到测试值并且新值已经消失。 我检查了代码是否有任何insert或import语句但找不到。有人遇到过类似的问题吗?是因为数据库缓存,如果是,那么如何清除此缓存?什么可能是这个奇怪问题背后原因的暗示?

1 个答案:

答案 0 :(得分:0)

Flex创建一个位置以在机器中本地保存数据。在我的机器中,路径位于我的用户ID AppData \ Roaming \ ProjectName \ Local Store \ Database \ dbname.db

我的代码负责人(第9行,dbWorkFile变量):

    public function SQLCon(strQuery:String):SQLResult
    {
        try
        {               
            var dbStatement:SQLStatement = new SQLStatement();
            var dbFile:File = File.applicationDirectory.resolvePath("DataBase/question.db"); //file in the compiled folder
            var dbWorkFile:File = File.applicationStorageDirectory.resolvePath("DataBase/question.db");//Location of roaming database
            if(!dbWorkFile.exists){
                dbFile.copyTo(dbWorkFile);
            }
            conn = new SQLConnection(); 
            conn.open(dbWorkFile);   
            ....

为了面对类似鬼问题的人的利益而留下这个答案:)