2015-09-02 1 views
0

Je maintiens une application de bureau flexible existante qui utilise la base de données SQLite3. Je suis très nouveau dans la programmation Flex. La base de données contient à l'origine des valeurs de test que j'ai modifiées en supprimant la table existante en important les nouvelles données avec le même nom de table. Maintenant, une fois que j'exécute l'application, je vois toujours les anciennes données, et en vérifiant la table de la base de données, je trouve des valeurs de test et de nouvelles valeurs. J'ai vérifié le code pour toute instruction d'insertion ou d'importation, mais je n'ai pas pu en trouver une. Est-ce que quelqu'un a fait face à un problème similaire? Est-ce parce que la mise en cache des bases de données, si oui, comment effacer ce cache? Un indice sur ce qui pourrait être la raison derrière ce problème étrange?La base de données Flex est écrasée

+0

@Brian pouvez-vous aider à ce sujet également? – Anusha

Répondre

0

Flex crée un emplacement pour enregistrer des données localement dans la machine. Dans ma machine le chemin est sous mon code d'utilisateur AppData \ Roaming \ ProjectName \ Database \ Local Store \ dbname.db de

Et mon code responsable est suivante (ligne 9, la variable 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); 
      .... 

En quittant cette répondre pour le bénéfice de quelqu'un qui fait face à un problème de fantôme similaire :)