2011-04-28 47 views
2

我想要做的是以异步模式打开数据库并从数据库获取一些数据。要做到我写了这个代码楼下:获取'错误#3115:SQL错误',详细信息:'no such table:'尝试执行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"); 

后,我在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(); 
     } 

我startstmt是一个全球性的SQLStatement变量。当我在Sqlite Manager中测试时,它可以正常工作,但在Adobe-Air中,我收到了这个错误。我在哪里做错了,我该如何解决这个问题?

回答

0

这一切看起来不错。你应该检查你的表名。

+0

正如我告诉我检查完全相同的查询Sqlite经理。当我连接同步到数据库时它也可以正常工作。但由于响应时间,我不想与同步模式连接,并且它在执行过程中冻结UI。 – derton 2011-04-28 12:23:12

相关问题