本博推荐文章快速导航: Sql Server2005 Transact-SQL 新兵器学习 MCAD学习 代码阅读总结 ASP.NET状态管理 DB(数据库) WAP WinForm Flex,Fms

Adobe AIR中使用Flex连接Sqlite数据库(3)(查询)

系列文章导航
  1. Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表)
  2. Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数)
  3. Adobe AIR中使用Flex连接Sqlite数据库(3)(查询)
  4. Adobe AIR中使用Flex连接Sqlite数据库(4)(事务)
  5. Flex,Fms3相关文章索引
  6. 免费美女视频聊天,多人视频会议功能加强版本(Fms3和Flex开发(附源码))


本章主要总结表的查询

1.查询
同步版本:
private function query():void
{
 var stmt:SQLStatement = new SQLStatement();
 stmt.sqlConnection = con;
     stmt.text = "select empId,firstName,lastName,salary from emp";
 stmt.execute(); 
 
 var result:SQLResult = stmt.getResult();
 
 if ( result.data!=null )
 {
  var numResults:int =result.data.length;
    
  for (var i:int = 0; i < numResults; i++)
     {
         var row:Object = result.data[i];
         var output:String = "empId: " + row.empId;
         output += "; firstName: " + row.firstName;
         output += "; lastName: " + row.lastName;
         output += "; salary: " + row.salary; 
          
         Alert.show(output); 
     }
  }
}
代码说明:
getResult ()方法:执行结果的SQLResult对象的访问
SQLResult的data属性:执行语句而返回的数据。如果某一语句不返回任何数据,则此属性为 null。这就是本代码需要判断是否为空的目的。


2.查询部分结果
默认情况下,执行 SELECT 语句会一次检索结果集的所有行,有时我们需要查询第1行怎么办?
查询第1行的异步版本实例代码如下:
private var responder:Responder;
private var stmt:SQLStatement;
private function querytop1():void
{
 stmt = new SQLStatement();
 stmt.sqlConnection = con;
 stmt.text = "select empId,firstName,lastName,salary from emp where firstName=:firstName";
     stmt.parameters[":firstName"]="f";
     responder= new Responder(resultHandler, errorHandler);
 stmt.execute(1,responder); 
}

private function resultHandler(result:SQLResult):void
{
 if ( result.data!=null )
 {
  var numResults:int =result.data.length;
    
  for (var i:int = 0; i < numResults; i++)
     {
         var row:Object = result.data[i];
         var output:String = "empId: " + row.empId;
         output += "; firstName: " + row.firstName;
         output += "; lastName: " + row.lastName;
         output += "; salary: " + row.salary; 
          
         Alert.show(output); 
     }
  }
}

private function errorHandler(error:SQLError):void
{
 Alert.show(error.message);
 Alert.show(error.details);
}
代码说明:
execute () 方法参数说明:
第1个参数:此值指示该语句一次返回的行数。默认值为 -1,指示一次返回所有结果行,
第2个参数:一个Responder对象,指定操作成功或失败时要调用的方法。
实际在本例中,也可以不用Responder对象,而用事件侦听器执行SQLStatement,以确定语句的执行何时完成或失败
stmt.addEventListener(SQLEvent.RESULT,resultHandler);
stmt.addEventListener(SQLErrorEvent.ERROR,errorHandler);
具体代码实现可以参照以前的文章

 


3.代码下载
http://files.cnblogs.com/aierong/Air_Test_SQLite3.rar

 

收藏与分享

收藏到QQ书签 添加到百度搜藏 添加到百度搜藏 添加到雅虎收藏 分享到饭否 收藏到就喜欢网络收藏夹

RSS订阅我 什么是RSS?

feedsky    http://wap.feedsky.com/aierongrss    E-mail
订阅到雅蛙       使用RSS邮天下订阅    订阅到有道阅读
订阅到抓虾    鲜果阅读器订阅图标    Add to Google
訂閱 Bloglines    哪吒提醒    Subscribe in NewsGator Online

东莞.net俱乐部

东莞.net俱乐部 欢迎您的加入

posted @ 2009-01-23 10:01 aierong 阅读(...) 评论(...) 编辑 收藏