2011-04-28 4 views
2

Ce que j'essaie de faire est d'ouvrir une base de données en mode asynchrone et d'obtenir des données de ma base de données. Pour ce faire, je l'ai écrit ce code en bas:Obtenir 'Erreur # 3115: Erreur SQL.', Détails: 'no such table:' Erreur lors de l'exécution de SqlStatement

var file:File = File.applicationStorageDirectory.resolvePath("data/mydatabase.db"); 
      sqlConnection = new SQLConnection(); 

      sqlConnection.addEventListener(SQLEvent.OPEN, openHandler); 
      sqlConnection.addEventListener(SQLErrorEvent.ERROR, errorHandler); 

      sqlConnection.openAsync(file,"read"); 

Après, je l'ai écrit ce code dans la méthode openHandler:

protected function openHandler(event:SQLEvent):void 
     { 
      Alert.show("Database opened successfully");     
      startstmt = new SQLStatement();    
      startstmt.sqlConnection = sqlConnection; 
      startstmt.text = "SELECT tid FROM sectionstable WHERE farma LIKE '%heim%' OR indication LIKE '%heim%' LIMIT 0,10";    
      startstmt.execute(); 
     } 

Mon startstmt est une variable globale SQLStatement. Quand j'ai testé dans Sqlite Manager ça marche bien cette requête mais dans adobe-air je reçois cette erreur. Où ai-je fait mal et comment puis-je résoudre ce problème?

Répondre

0

Tout semble correct. Vous devriez vérifier votre nom de table.

+0

Comme je l'ai dit j'ai vérifié exactement la même requête sur Sqlite Manager. Aussi, cela fonctionne bien lorsque je me connecte synchrone à la base de données. Mais je ne veux pas me connecter en mode synchrone à cause du temps de réponse et cela gèle l'interface utilisateur pendant l'exécution du processus. – derton

Questions connexes